@@ -56,7 +56,7 @@ function handle ({ context, logger, batchSize = config.blocksBatchSize }) {
56
56
const normalizedWantlist = getNormalizedWantlist ( wantlist , context , logger )
57
57
58
58
// Set state of processing blocks in canceled state
59
- updateCanceledState ( normalizedWantlist , context )
59
+ updateCanceledState ( normalizedWantlist , context , logger )
60
60
61
61
process . nextTick ( async ( ) => {
62
62
// catch async error in libp2p connection
@@ -186,8 +186,20 @@ async function batchResponse ({ blocks, context, logger }) {
186
186
let message = new Message ( )
187
187
for ( let i = 0 ; i < blocks . length ; i ++ ) {
188
188
const block = blocks [ i ]
189
+ // console.log('block key', block.key)
189
190
const canceledItem = context . canceled . get ( block . key )
190
- if ( ! canceledItem || canceledItem !== block . type ) {
191
+ logger . info ( { keyList : context . canceled . keyList } , 'check keyList' )
192
+ logger . info ( { key : block . key } , 'check' )
193
+ logger . info ( { canceled : canceledItem } , 'canceled' )
194
+
195
+ if ( canceledItem === block . type ) {
196
+ const size = messageSize [ block . type ] ( block )
197
+ telemetry . increaseLabelCount ( 'bitswap-block-success-cancel' , [ block . type ] )
198
+ telemetry . increaseLabelCount ( 'bitswap-cancel-size' , [ block . type ] , size )
199
+
200
+ logger . info ( { key : block . key } , 'delete' )
201
+ context . canceled . delete ( block . key )
202
+ } else {
191
203
const size = messageSize [ block . type ] ( block )
192
204
193
205
// maxMessageSize MUST BE larger than a single block info/data
@@ -198,12 +210,6 @@ async function batchResponse ({ blocks, context, logger }) {
198
210
199
211
message . push ( block , size , context . protocol )
200
212
sentMetrics [ block . type ] ( block , size )
201
- } else {
202
- const size = messageSize [ block . type ] ( block )
203
- telemetry . increaseLabelCount ( 'bitswap-block-success-cancel' , [ block . type ] )
204
- telemetry . increaseLabelCount ( 'bitswap-cancel-size' , [ block . type ] , size )
205
-
206
- context . canceled . delete ( block . key )
207
213
}
208
214
}
209
215
@@ -217,22 +223,27 @@ async function batchResponse ({ blocks, context, logger }) {
217
223
}
218
224
}
219
225
220
- function updateCanceledState ( wantList , context ) {
226
+ function updateCanceledState ( wantList , context , logger ) {
221
227
const { wantedBlocks, wantedHave, canceled } = wantList
222
228
223
229
// Removed previous canceled blocks
224
230
wantedBlocks . forEach ( block => {
231
+ logger . info ( { key : block . key } , 'remove block from canceled' )
225
232
context . canceled . delete ( block . key )
226
233
} )
227
234
228
235
wantedHave . forEach ( block => {
236
+ logger . info ( { key : block . key } , 'remove wanted block from canceled' )
229
237
context . canceled . delete ( block . key )
230
238
} )
231
239
232
240
// Add new canceled blocks
233
241
canceled . forEach ( block => {
242
+ logger . info ( { key : block . key } , 'add block to canceled' )
234
243
context . canceled . set ( block . key , block . wantType )
235
244
} )
245
+
246
+ logger . info ( { keyList : context . canceled . keyList } , 'check keyList' )
236
247
}
237
248
238
249
// end response, close connection
0 commit comments