From 05bc3bd92495b8406d0ee46bf91287f553f4715f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Thu, 6 Sep 2018 11:09:56 +0200 Subject: [PATCH] p2p: simplify remote handler matching MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit License: MIT Signed-off-by: Ɓukasz Magiera --- p2p/listener.go | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/p2p/listener.go b/p2p/listener.go index 12d9697d3..9aed22ec5 100644 --- a/p2p/listener.go +++ b/p2p/listener.go @@ -44,31 +44,19 @@ func newListenersP2P(id peer.ID, host p2phost.Host) *Listeners { starting: map[string]struct{}{}, } - addr, err := ma.NewMultiaddr(maPrefix + id.Pretty()) - if err != nil { - panic(err) - } - host.SetStreamHandlerMatch("/x/", func(p string) bool { reg.RLock() defer reg.RUnlock() - for _, l := range reg.Listeners { - if l.ListenAddress().Equal(addr) && string(l.Protocol()) == p { - return true - } - } - - return false + _, ok := reg.Listeners[p] + return ok }, func(stream net.Stream) { reg.RLock() defer reg.RUnlock() - for _, l := range reg.Listeners { - if l.ListenAddress().Equal(addr) && l.Protocol() == stream.Protocol() { - go l.(*remoteListener).handleStream(stream) - return - } + l := reg.Listeners[string(stream.Protocol())] + if l != nil { + go l.(*remoteListener).handleStream(stream) } })