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