From ce2ba7100268d4f5f499a4150d433e520a58d962 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Thu, 5 Mar 2020 10:29:50 +0300 Subject: [PATCH] server: subscribe to topic with own name if router not nil (#1295) * server: subscribe to topic with own name if router not nil Signed-off-by: Vasiliy Tolstov --- server/rpc_server.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/server/rpc_server.go b/server/rpc_server.go index eb079883..173f4f66 100644 --- a/server/rpc_server.go +++ b/server/rpc_server.go @@ -630,14 +630,17 @@ func (s *rpcServer) Register() error { // set what we're advertising s.opts.Advertise = addr - // subscribe to the topic with own name - sub, err := s.opts.Broker.Subscribe(config.Name, s.HandleEvent) - if err != nil { - return err - } + // router can exchange messages + if s.opts.Router != nil { + // subscribe to the topic with own name + sub, err := s.opts.Broker.Subscribe(config.Name, s.HandleEvent) + if err != nil { + return err + } - // save the subscriber - s.subscriber = sub + // save the subscriber + s.subscriber = sub + } // subscribe for all of the subscribers for sb := range s.subscribers { @@ -654,11 +657,11 @@ func (s *rpcServer) Register() error { opts = append(opts, broker.DisableAutoAck()) } - log.Infof("Subscribing to topic: %s", sub.Topic()) sub, err := config.Broker.Subscribe(sb.Topic(), s.HandleEvent, opts...) if err != nil { return err } + log.Infof("Subscribing to topic: %s", sub.Topic()) s.subscribers[sb] = []broker.Subscriber{sub} }