Skip to content

Commit a5d7f38

Browse files
committed
chore: add comment on cancel
1 parent faeab9a commit a5d7f38

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

src/handler.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,15 +184,20 @@ async function batchResponse ({ blocks, context, logger }) {
184184

185185
try {
186186
let message = new Message()
187+
logger.info({ keyList: context.canceled.keyList }, 'check keyList')
187188
for (let i = 0; i < blocks.length; i++) {
188189
const block = blocks[i]
189190
const canceledItem = context.canceled.get(block.key)
190191

192+
logger.info({ key: block.key, type: block.type, wantType: block.wantType }, 'check')
193+
logger.info({ canceled: canceledItem }, 'canceled')
194+
191195
if (canceledItem === block.wantType) {
192196
const size = messageSize[block.type](block)
193197
telemetry.increaseLabelCount('bitswap-block-success-cancel', [block.type])
194198
telemetry.increaseLabelCount('bitswap-cancel-size', [block.type], size)
195199

200+
logger.info({ key: block.key }, 'delete')
196201
context.canceled.delete(block.key)
197202
} else {
198203
const size = messageSize[block.type](block)

src/service.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ async function startService ({ peerId, port, peerAnnounceAddr, awsClient, connec
8383
}
8484
})
8585

86+
const cancelsPerPeer = new Map()
8687
const handlerOptions = {
8788
maxInboundStreams: connectionConfig.handler.maxInboundStreams,
8889
maxOutboundStreams: connectionConfig.handler.maxOutboundStreams
@@ -109,7 +110,7 @@ async function startService ({ peerId, port, peerAnnounceAddr, awsClient, connec
109110
service.handle(protocol, async ({ connection: dial, stream }) => {
110111
try {
111112
const connection = new Connection(stream)
112-
const canceled = new LRU({ max: 200 })
113+
const canceled = cancelsPerPeer.get(dial.remotePeer.toString())
113114

114115
const hrTime = process.hrtime()
115116
const connectionId = hrTime[0] * 1000000000 + hrTime[1]
@@ -161,20 +162,29 @@ async function startService ({ peerId, port, peerAnnounceAddr, awsClient, connec
161162

162163
// TODO move to networking
163164
service.connectionManager.addEventListener('peer:connect', connection => {
165+
cancelsPerPeer.set(
166+
connection.detail.remotePeer.toString(),
167+
new LRU({ max: 200 })
168+
)
169+
164170
try {
165171
telemetry.increaseCount('bitswap-connections')
166172
telemetry.increaseGauge('bitswap-active-connections')
167173
} catch (err) {
168-
logger.warn({ err, remotePeer: connection.remotePeer }, 'Error while peer connecting')
174+
logger.warn({ err, remotePeer: connection.detail.remotePeer.toString() }, 'Error while peer connecting')
169175
}
170176
})
171177

172178
// TODO move to networking
173179
service.connectionManager.addEventListener('peer:disconnect', connection => {
180+
cancelsPerPeer.delete(
181+
connection.detail.remotePeer.toString()
182+
)
183+
174184
try {
175185
telemetry.decreaseGauge('bitswap-active-connections')
176186
} catch (err) {
177-
logger.warn({ err, remotePeer: connection.remotePeer }, 'Error while peer disconnecting')
187+
logger.warn({ err, remotePeer: connection.detail.remotePeer.toString() }, 'Error while peer disconnecting')
178188
}
179189
})
180190

0 commit comments

Comments
 (0)