From f9650a79068f5968d6a343bb8a686f8661725cba Mon Sep 17 00:00:00 2001 From: Juan Batiz-Benet Date: Mon, 15 Sep 2014 16:20:22 -0700 Subject: [PATCH] allow service to have nil handler @perfmode this means we can create a Service first, give it to the network and protocol (removing interdep). --- net/service/service.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/net/service/service.go b/net/service/service.go index d6e32a501..c4eb01433 100644 --- a/net/service/service.go +++ b/net/service/service.go @@ -161,6 +161,11 @@ func (s *Service) handleIncomingMessage(ctx context.Context, m msg.NetMessage) { // if it's a request (or has no RequestID), handle it if rid == nil || rid.IsRequest() { + if s.Handler == nil { + u.PErr("service dropped msg: %v\n", m) + return // no handler, drop it. + } + r1, err := s.Handler.HandleMessage(ctx, m2) if err != nil { u.PErr("handled message yielded error %v\n", err)