@cryptotaxi247 / kubo / commits / 4d914b359

allow bitswap to read multiple messages per stream

License: MIT Signed-off-by: Jeromy <why@ipfs.io>

Jeromy committed May 5, 2016 at 16:28 UTC 4d914b3594794f1c3b3f14c1658f685d55753e82
1 file changed +12 -10
exchange/bitswap/network/ipfs_impl.go
+12 -10
@@ -150,17 +150,19 @@ func (bsnet *impl) handleNewStream(s inet.Stream) {
150 return
151 }
152
153 - received, err := bsmsg.FromNet(s)
154 - if err != nil {
155 - go bsnet.receiver.ReceiveError(err)
156 - log.Debugf("bitswap net handleNewStream from %s error: %s", s.Conn().RemotePeer(), err)
157 - return
158 - }
153 + for {
154 + received, err := bsmsg.FromNet(s)
155 + if err != nil {
156 + go bsnet.receiver.ReceiveError(err)
157 + log.Debugf("bitswap net handleNewStream from %s error: %s", s.Conn().RemotePeer(), err)
158 + return
159 + }
160
160 - p := s.Conn().RemotePeer()
161 - ctx := context.Background()
162 - log.Debugf("bitswap net handleNewStream from %s", s.Conn().RemotePeer())
163 - bsnet.receiver.ReceiveMessage(ctx, p, received)
161 + p := s.Conn().RemotePeer()
162 + ctx := context.Background()
163 + log.Debugf("bitswap net handleNewStream from %s", s.Conn().RemotePeer())
164 + bsnet.receiver.ReceiveMessage(ctx, p, received)
165 + }
166 }
167
168 type netNotifiee impl