Skip to content

Commit 665cd85

Browse files
committed
Merge pull request #2646 from ipfs/feat/bitswap-reuse-stream
allow bitswap to read multiple messages per stream
2 parents 1a6f8c6 + 4d914b3 commit 665cd85

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

exchange/bitswap/network/ipfs_impl.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,17 +150,19 @@ func (bsnet *impl) handleNewStream(s inet.Stream) {
150150
return
151151
}
152152

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+
}
159160

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+
}
164166
}
165167

166168
type netNotifiee impl

0 commit comments

Comments
 (0)