From 44cbfa16a8977a0fc5fbf088d2c4218cf64c6194 Mon Sep 17 00:00:00 2001 From: braginini Date: Mon, 19 Apr 2021 14:19:09 +0200 Subject: [PATCH] chore: add a single message to signal server --- signal/signal.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/signal/signal.go b/signal/signal.go index e229280dd..0569adf58 100644 --- a/signal/signal.go +++ b/signal/signal.go @@ -29,7 +29,18 @@ func NewServer() *SignalExchangeServer { } } -func (s *SignalExchangeServer) Connect(context.Context, *proto.Message) (*proto.Message, error) { +func (s *SignalExchangeServer) Connect(ctx context.Context, msg *proto.Message) (*proto.Message, error) { + if dstPeer, found := s.registry.Peers[msg.RemoteKey]; found { + //forward the message to the target peer + err := dstPeer.Stream.Send(msg) + if err != nil { + log.Errorf("error while forwarding message from peer [%s] to peer [%s]", p.Id, msg.RemoteKey) + //todo respond to the sender? + } + } else { + log.Warnf("message from peer [%s] can't be forwarded to peer [%s] because destination peer is not connected", p.Id, msg.RemoteKey) + //todo respond to the sender? + } return &proto.Message{}, nil }