From 4d914b3594794f1c3b3f14c1658f685d55753e82 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Thu, 5 May 2016 16:28:40 -0700 Subject: [PATCH] allow bitswap to read multiple messages per stream License: MIT Signed-off-by: Jeromy --- exchange/bitswap/network/ipfs_impl.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/exchange/bitswap/network/ipfs_impl.go b/exchange/bitswap/network/ipfs_impl.go index 2d1512660..e0f2667ce 100644 --- a/exchange/bitswap/network/ipfs_impl.go +++ b/exchange/bitswap/network/ipfs_impl.go @@ -150,17 +150,19 @@ func (bsnet *impl) handleNewStream(s inet.Stream) { return } - received, err := bsmsg.FromNet(s) - if err != nil { - go bsnet.receiver.ReceiveError(err) - log.Debugf("bitswap net handleNewStream from %s error: %s", s.Conn().RemotePeer(), err) - return - } + for { + received, err := bsmsg.FromNet(s) + if err != nil { + go bsnet.receiver.ReceiveError(err) + log.Debugf("bitswap net handleNewStream from %s error: %s", s.Conn().RemotePeer(), err) + return + } - p := s.Conn().RemotePeer() - ctx := context.Background() - log.Debugf("bitswap net handleNewStream from %s", s.Conn().RemotePeer()) - bsnet.receiver.ReceiveMessage(ctx, p, received) + p := s.Conn().RemotePeer() + ctx := context.Background() + log.Debugf("bitswap net handleNewStream from %s", s.Conn().RemotePeer()) + bsnet.receiver.ReceiveMessage(ctx, p, received) + } } type netNotifiee impl