@helia/bitswap 3.1.4 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/dist/src/bitswap.js +1 -1
- package/dist/src/bitswap.js.map +1 -1
- package/dist/src/constants.d.ts +3 -3
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +3 -3
- package/dist/src/constants.js.map +1 -1
- package/dist/src/index.d.ts +25 -11
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/network.d.ts +14 -13
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js +18 -13
- package/dist/src/network.js.map +1 -1
- package/dist/src/pb/message.d.ts +133 -10
- package/dist/src/pb/message.d.ts.map +1 -1
- package/dist/src/pb/message.js +247 -27
- package/dist/src/pb/message.js.map +1 -1
- package/dist/src/peer-want-lists/index.js +2 -2
- package/dist/src/peer-want-lists/index.js.map +1 -1
- package/dist/src/want-list.d.ts +20 -7
- package/dist/src/want-list.d.ts.map +1 -1
- package/dist/src/want-list.js +46 -22
- package/dist/src/want-list.js.map +1 -1
- package/dist/typedoc-urls.json +0 -2
- package/package.json +8 -8
- package/src/bitswap.ts +1 -1
- package/src/constants.ts +3 -3
- package/src/index.ts +29 -13
- package/src/network.ts +36 -24
- package/src/pb/message.ts +395 -17
- package/src/peer-want-lists/index.ts +2 -2
- package/src/want-list.ts +67 -27
package/src/pb/message.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { decodeMessage, encodeMessage, enumeration, MaxLengthError, message } from 'protons-runtime'
|
|
1
|
+
import { decodeMessage, encodeMessage, enumeration, MaxLengthError, message, streamMessage } from 'protons-runtime'
|
|
2
2
|
import { alloc as uint8ArrayAlloc } from 'uint8arrays/alloc'
|
|
3
3
|
import type { Codec, DecodeOptions } from 'protons-runtime'
|
|
4
4
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
@@ -18,6 +18,7 @@ export namespace WantType {
|
|
|
18
18
|
return enumeration<WantType>(__WantTypeValues)
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
|
|
21
22
|
export interface WantlistEntry {
|
|
22
23
|
cid: Uint8Array
|
|
23
24
|
priority: number
|
|
@@ -104,19 +105,96 @@ export namespace WantlistEntry {
|
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
return obj
|
|
108
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
109
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
110
|
+
|
|
111
|
+
while (reader.pos < end) {
|
|
112
|
+
const tag = reader.uint32()
|
|
113
|
+
|
|
114
|
+
switch (tag >>> 3) {
|
|
115
|
+
case 1: {
|
|
116
|
+
yield {
|
|
117
|
+
field: `${prefix}.cid`,
|
|
118
|
+
value: reader.bytes()
|
|
119
|
+
}
|
|
120
|
+
break
|
|
121
|
+
}
|
|
122
|
+
case 2: {
|
|
123
|
+
yield {
|
|
124
|
+
field: `${prefix}.priority`,
|
|
125
|
+
value: reader.int32()
|
|
126
|
+
}
|
|
127
|
+
break
|
|
128
|
+
}
|
|
129
|
+
case 3: {
|
|
130
|
+
yield {
|
|
131
|
+
field: `${prefix}.cancel`,
|
|
132
|
+
value: reader.bool()
|
|
133
|
+
}
|
|
134
|
+
break
|
|
135
|
+
}
|
|
136
|
+
case 4: {
|
|
137
|
+
yield {
|
|
138
|
+
field: `${prefix}.wantType`,
|
|
139
|
+
value: WantType.codec().decode(reader)
|
|
140
|
+
}
|
|
141
|
+
break
|
|
142
|
+
}
|
|
143
|
+
case 5: {
|
|
144
|
+
yield {
|
|
145
|
+
field: `${prefix}.sendDontHave`,
|
|
146
|
+
value: reader.bool()
|
|
147
|
+
}
|
|
148
|
+
break
|
|
149
|
+
}
|
|
150
|
+
default: {
|
|
151
|
+
reader.skipType(tag & 7)
|
|
152
|
+
break
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
107
156
|
})
|
|
108
157
|
}
|
|
109
158
|
|
|
110
159
|
return _codec
|
|
111
160
|
}
|
|
112
161
|
|
|
113
|
-
export
|
|
162
|
+
export interface WantlistEntryCidFieldEvent {
|
|
163
|
+
field: '$.cid'
|
|
164
|
+
value: Uint8Array
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export interface WantlistEntryPriorityFieldEvent {
|
|
168
|
+
field: '$.priority'
|
|
169
|
+
value: number
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export interface WantlistEntryCancelFieldEvent {
|
|
173
|
+
field: '$.cancel'
|
|
174
|
+
value: boolean
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export interface WantlistEntryWantTypeFieldEvent {
|
|
178
|
+
field: '$.wantType'
|
|
179
|
+
value: WantType
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export interface WantlistEntrySendDontHaveFieldEvent {
|
|
183
|
+
field: '$.sendDontHave'
|
|
184
|
+
value: boolean
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export function encode (obj: Partial<WantlistEntry>): Uint8Array {
|
|
114
188
|
return encodeMessage(obj, WantlistEntry.codec())
|
|
115
189
|
}
|
|
116
190
|
|
|
117
|
-
export
|
|
191
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<WantlistEntry>): WantlistEntry {
|
|
118
192
|
return decodeMessage(buf, WantlistEntry.codec(), opts)
|
|
119
193
|
}
|
|
194
|
+
|
|
195
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<WantlistEntry>): Generator<WantlistEntryCidFieldEvent | WantlistEntryPriorityFieldEvent | WantlistEntryCancelFieldEvent | WantlistEntryWantTypeFieldEvent | WantlistEntrySendDontHaveFieldEvent> {
|
|
196
|
+
return streamMessage(buf, WantlistEntry.codec(), opts)
|
|
197
|
+
}
|
|
120
198
|
}
|
|
121
199
|
|
|
122
200
|
export interface Wantlist {
|
|
@@ -134,7 +212,7 @@ export namespace Wantlist {
|
|
|
134
212
|
w.fork()
|
|
135
213
|
}
|
|
136
214
|
|
|
137
|
-
if (obj.entries != null) {
|
|
215
|
+
if (obj.entries != null && obj.entries.length > 0) {
|
|
138
216
|
for (const value of obj.entries) {
|
|
139
217
|
w.uint32(10)
|
|
140
218
|
WantlistEntry.codec().encode(value, w)
|
|
@@ -162,7 +240,7 @@ export namespace Wantlist {
|
|
|
162
240
|
switch (tag >>> 3) {
|
|
163
241
|
case 1: {
|
|
164
242
|
if (opts.limits?.entries != null && obj.entries.length === opts.limits.entries) {
|
|
165
|
-
throw new MaxLengthError('Decode error -
|
|
243
|
+
throw new MaxLengthError('Decode error - repeated field "entries" had too many elements')
|
|
166
244
|
}
|
|
167
245
|
|
|
168
246
|
obj.entries.push(WantlistEntry.codec().decode(reader, reader.uint32(), {
|
|
@@ -182,19 +260,100 @@ export namespace Wantlist {
|
|
|
182
260
|
}
|
|
183
261
|
|
|
184
262
|
return obj
|
|
263
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
264
|
+
const obj = {
|
|
265
|
+
entries: 0
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
269
|
+
|
|
270
|
+
while (reader.pos < end) {
|
|
271
|
+
const tag = reader.uint32()
|
|
272
|
+
|
|
273
|
+
switch (tag >>> 3) {
|
|
274
|
+
case 1: {
|
|
275
|
+
if (opts.limits?.entries != null && obj.entries === opts.limits.entries) {
|
|
276
|
+
throw new MaxLengthError('Streaming decode error - repeated field "entries" had too many elements')
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
for (const evt of WantlistEntry.codec().stream(reader, reader.uint32(), `${prefix}.entries[]`, {
|
|
280
|
+
limits: opts.limits?.entries$
|
|
281
|
+
})) {
|
|
282
|
+
yield {
|
|
283
|
+
...evt,
|
|
284
|
+
index: obj.entries
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
obj.entries++
|
|
289
|
+
|
|
290
|
+
break
|
|
291
|
+
}
|
|
292
|
+
case 2: {
|
|
293
|
+
yield {
|
|
294
|
+
field: `${prefix}.full`,
|
|
295
|
+
value: reader.bool()
|
|
296
|
+
}
|
|
297
|
+
break
|
|
298
|
+
}
|
|
299
|
+
default: {
|
|
300
|
+
reader.skipType(tag & 7)
|
|
301
|
+
break
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
185
305
|
})
|
|
186
306
|
}
|
|
187
307
|
|
|
188
308
|
return _codec
|
|
189
309
|
}
|
|
190
310
|
|
|
191
|
-
export
|
|
311
|
+
export interface WantlistEntriesCidFieldEvent {
|
|
312
|
+
field: '$.entries[].cid'
|
|
313
|
+
value: Uint8Array
|
|
314
|
+
index: number
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
export interface WantlistEntriesPriorityFieldEvent {
|
|
318
|
+
field: '$.entries[].priority'
|
|
319
|
+
value: number
|
|
320
|
+
index: number
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
export interface WantlistEntriesCancelFieldEvent {
|
|
324
|
+
field: '$.entries[].cancel'
|
|
325
|
+
value: boolean
|
|
326
|
+
index: number
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
export interface WantlistEntriesWantTypeFieldEvent {
|
|
330
|
+
field: '$.entries[].wantType'
|
|
331
|
+
value: WantType
|
|
332
|
+
index: number
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
export interface WantlistEntriesSendDontHaveFieldEvent {
|
|
336
|
+
field: '$.entries[].sendDontHave'
|
|
337
|
+
value: boolean
|
|
338
|
+
index: number
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
export interface WantlistFullFieldEvent {
|
|
342
|
+
field: '$.full'
|
|
343
|
+
value: boolean
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
export function encode (obj: Partial<Wantlist>): Uint8Array {
|
|
192
347
|
return encodeMessage(obj, Wantlist.codec())
|
|
193
348
|
}
|
|
194
349
|
|
|
195
|
-
export
|
|
350
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Wantlist>): Wantlist {
|
|
196
351
|
return decodeMessage(buf, Wantlist.codec(), opts)
|
|
197
352
|
}
|
|
353
|
+
|
|
354
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Wantlist>): Generator<WantlistEntriesCidFieldEvent | WantlistEntriesPriorityFieldEvent | WantlistEntriesCancelFieldEvent | WantlistEntriesWantTypeFieldEvent | WantlistEntriesSendDontHaveFieldEvent | WantlistFullFieldEvent> {
|
|
355
|
+
return streamMessage(buf, Wantlist.codec(), opts)
|
|
356
|
+
}
|
|
198
357
|
}
|
|
199
358
|
|
|
200
359
|
export interface Block {
|
|
@@ -253,19 +412,60 @@ export namespace Block {
|
|
|
253
412
|
}
|
|
254
413
|
|
|
255
414
|
return obj
|
|
415
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
416
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
417
|
+
|
|
418
|
+
while (reader.pos < end) {
|
|
419
|
+
const tag = reader.uint32()
|
|
420
|
+
|
|
421
|
+
switch (tag >>> 3) {
|
|
422
|
+
case 1: {
|
|
423
|
+
yield {
|
|
424
|
+
field: `${prefix}.prefix`,
|
|
425
|
+
value: reader.bytes()
|
|
426
|
+
}
|
|
427
|
+
break
|
|
428
|
+
}
|
|
429
|
+
case 2: {
|
|
430
|
+
yield {
|
|
431
|
+
field: `${prefix}.data`,
|
|
432
|
+
value: reader.bytes()
|
|
433
|
+
}
|
|
434
|
+
break
|
|
435
|
+
}
|
|
436
|
+
default: {
|
|
437
|
+
reader.skipType(tag & 7)
|
|
438
|
+
break
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
}
|
|
256
442
|
})
|
|
257
443
|
}
|
|
258
444
|
|
|
259
445
|
return _codec
|
|
260
446
|
}
|
|
261
447
|
|
|
262
|
-
export
|
|
448
|
+
export interface BlockPrefixFieldEvent {
|
|
449
|
+
field: '$.prefix'
|
|
450
|
+
value: Uint8Array
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
export interface BlockDataFieldEvent {
|
|
454
|
+
field: '$.data'
|
|
455
|
+
value: Uint8Array
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
export function encode (obj: Partial<Block>): Uint8Array {
|
|
263
459
|
return encodeMessage(obj, Block.codec())
|
|
264
460
|
}
|
|
265
461
|
|
|
266
|
-
export
|
|
462
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Block>): Block {
|
|
267
463
|
return decodeMessage(buf, Block.codec(), opts)
|
|
268
464
|
}
|
|
465
|
+
|
|
466
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Block>): Generator<BlockPrefixFieldEvent | BlockDataFieldEvent> {
|
|
467
|
+
return streamMessage(buf, Block.codec(), opts)
|
|
468
|
+
}
|
|
269
469
|
}
|
|
270
470
|
|
|
271
471
|
export enum BlockPresenceType {
|
|
@@ -283,6 +483,7 @@ export namespace BlockPresenceType {
|
|
|
283
483
|
return enumeration<BlockPresenceType>(__BlockPresenceTypeValues)
|
|
284
484
|
}
|
|
285
485
|
}
|
|
486
|
+
|
|
286
487
|
export interface BlockPresence {
|
|
287
488
|
cid: Uint8Array
|
|
288
489
|
type: BlockPresenceType
|
|
@@ -339,19 +540,60 @@ export namespace BlockPresence {
|
|
|
339
540
|
}
|
|
340
541
|
|
|
341
542
|
return obj
|
|
543
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
544
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
545
|
+
|
|
546
|
+
while (reader.pos < end) {
|
|
547
|
+
const tag = reader.uint32()
|
|
548
|
+
|
|
549
|
+
switch (tag >>> 3) {
|
|
550
|
+
case 1: {
|
|
551
|
+
yield {
|
|
552
|
+
field: `${prefix}.cid`,
|
|
553
|
+
value: reader.bytes()
|
|
554
|
+
}
|
|
555
|
+
break
|
|
556
|
+
}
|
|
557
|
+
case 2: {
|
|
558
|
+
yield {
|
|
559
|
+
field: `${prefix}.type`,
|
|
560
|
+
value: BlockPresenceType.codec().decode(reader)
|
|
561
|
+
}
|
|
562
|
+
break
|
|
563
|
+
}
|
|
564
|
+
default: {
|
|
565
|
+
reader.skipType(tag & 7)
|
|
566
|
+
break
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
342
570
|
})
|
|
343
571
|
}
|
|
344
572
|
|
|
345
573
|
return _codec
|
|
346
574
|
}
|
|
347
575
|
|
|
348
|
-
export
|
|
576
|
+
export interface BlockPresenceCidFieldEvent {
|
|
577
|
+
field: '$.cid'
|
|
578
|
+
value: Uint8Array
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
export interface BlockPresenceTypeFieldEvent {
|
|
582
|
+
field: '$.type'
|
|
583
|
+
value: BlockPresenceType
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
export function encode (obj: Partial<BlockPresence>): Uint8Array {
|
|
349
587
|
return encodeMessage(obj, BlockPresence.codec())
|
|
350
588
|
}
|
|
351
589
|
|
|
352
|
-
export
|
|
590
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<BlockPresence>): BlockPresence {
|
|
353
591
|
return decodeMessage(buf, BlockPresence.codec(), opts)
|
|
354
592
|
}
|
|
593
|
+
|
|
594
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<BlockPresence>): Generator<BlockPresenceCidFieldEvent | BlockPresenceTypeFieldEvent> {
|
|
595
|
+
return streamMessage(buf, BlockPresence.codec(), opts)
|
|
596
|
+
}
|
|
355
597
|
}
|
|
356
598
|
|
|
357
599
|
export interface BitswapMessage {
|
|
@@ -376,14 +618,14 @@ export namespace BitswapMessage {
|
|
|
376
618
|
Wantlist.codec().encode(obj.wantlist, w)
|
|
377
619
|
}
|
|
378
620
|
|
|
379
|
-
if (obj.blocks != null) {
|
|
621
|
+
if (obj.blocks != null && obj.blocks.length > 0) {
|
|
380
622
|
for (const value of obj.blocks) {
|
|
381
623
|
w.uint32(26)
|
|
382
624
|
Block.codec().encode(value, w)
|
|
383
625
|
}
|
|
384
626
|
}
|
|
385
627
|
|
|
386
|
-
if (obj.blockPresences != null) {
|
|
628
|
+
if (obj.blockPresences != null && obj.blockPresences.length > 0) {
|
|
387
629
|
for (const value of obj.blockPresences) {
|
|
388
630
|
w.uint32(34)
|
|
389
631
|
BlockPresence.codec().encode(value, w)
|
|
@@ -419,7 +661,7 @@ export namespace BitswapMessage {
|
|
|
419
661
|
}
|
|
420
662
|
case 3: {
|
|
421
663
|
if (opts.limits?.blocks != null && obj.blocks.length === opts.limits.blocks) {
|
|
422
|
-
throw new MaxLengthError('Decode error -
|
|
664
|
+
throw new MaxLengthError('Decode error - repeated field "blocks" had too many elements')
|
|
423
665
|
}
|
|
424
666
|
|
|
425
667
|
obj.blocks.push(Block.codec().decode(reader, reader.uint32(), {
|
|
@@ -429,7 +671,7 @@ export namespace BitswapMessage {
|
|
|
429
671
|
}
|
|
430
672
|
case 4: {
|
|
431
673
|
if (opts.limits?.blockPresences != null && obj.blockPresences.length === opts.limits.blockPresences) {
|
|
432
|
-
throw new MaxLengthError('Decode error -
|
|
674
|
+
throw new MaxLengthError('Decode error - repeated field "blockPresences" had too many elements')
|
|
433
675
|
}
|
|
434
676
|
|
|
435
677
|
obj.blockPresences.push(BlockPresence.codec().decode(reader, reader.uint32(), {
|
|
@@ -449,17 +691,153 @@ export namespace BitswapMessage {
|
|
|
449
691
|
}
|
|
450
692
|
|
|
451
693
|
return obj
|
|
694
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
695
|
+
const obj = {
|
|
696
|
+
blocks: 0,
|
|
697
|
+
blockPresences: 0
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
701
|
+
|
|
702
|
+
while (reader.pos < end) {
|
|
703
|
+
const tag = reader.uint32()
|
|
704
|
+
|
|
705
|
+
switch (tag >>> 3) {
|
|
706
|
+
case 1: {
|
|
707
|
+
yield * Wantlist.codec().stream(reader, reader.uint32(), `${prefix}.wantlist`, {
|
|
708
|
+
limits: opts.limits?.wantlist
|
|
709
|
+
})
|
|
710
|
+
|
|
711
|
+
break
|
|
712
|
+
}
|
|
713
|
+
case 3: {
|
|
714
|
+
if (opts.limits?.blocks != null && obj.blocks === opts.limits.blocks) {
|
|
715
|
+
throw new MaxLengthError('Streaming decode error - repeated field "blocks" had too many elements')
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
for (const evt of Block.codec().stream(reader, reader.uint32(), `${prefix}.blocks[]`, {
|
|
719
|
+
limits: opts.limits?.blocks$
|
|
720
|
+
})) {
|
|
721
|
+
yield {
|
|
722
|
+
...evt,
|
|
723
|
+
index: obj.blocks
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
obj.blocks++
|
|
728
|
+
|
|
729
|
+
break
|
|
730
|
+
}
|
|
731
|
+
case 4: {
|
|
732
|
+
if (opts.limits?.blockPresences != null && obj.blockPresences === opts.limits.blockPresences) {
|
|
733
|
+
throw new MaxLengthError('Streaming decode error - repeated field "blockPresences" had too many elements')
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
for (const evt of BlockPresence.codec().stream(reader, reader.uint32(), `${prefix}.blockPresences[]`, {
|
|
737
|
+
limits: opts.limits?.blockPresences$
|
|
738
|
+
})) {
|
|
739
|
+
yield {
|
|
740
|
+
...evt,
|
|
741
|
+
index: obj.blockPresences
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
obj.blockPresences++
|
|
746
|
+
|
|
747
|
+
break
|
|
748
|
+
}
|
|
749
|
+
case 5: {
|
|
750
|
+
yield {
|
|
751
|
+
field: `${prefix}.pendingBytes`,
|
|
752
|
+
value: reader.int32()
|
|
753
|
+
}
|
|
754
|
+
break
|
|
755
|
+
}
|
|
756
|
+
default: {
|
|
757
|
+
reader.skipType(tag & 7)
|
|
758
|
+
break
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
}
|
|
452
762
|
})
|
|
453
763
|
}
|
|
454
764
|
|
|
455
765
|
return _codec
|
|
456
766
|
}
|
|
457
767
|
|
|
458
|
-
export
|
|
768
|
+
export interface BitswapMessageWantlistEntriesCidFieldEvent {
|
|
769
|
+
field: '$.wantlist.entries[].cid'
|
|
770
|
+
value: Uint8Array
|
|
771
|
+
index: number
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
export interface BitswapMessageWantlistEntriesPriorityFieldEvent {
|
|
775
|
+
field: '$.wantlist.entries[].priority'
|
|
776
|
+
value: number
|
|
777
|
+
index: number
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
export interface BitswapMessageWantlistEntriesCancelFieldEvent {
|
|
781
|
+
field: '$.wantlist.entries[].cancel'
|
|
782
|
+
value: boolean
|
|
783
|
+
index: number
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
export interface BitswapMessageWantlistEntriesWantTypeFieldEvent {
|
|
787
|
+
field: '$.wantlist.entries[].wantType'
|
|
788
|
+
value: WantType
|
|
789
|
+
index: number
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
export interface BitswapMessageWantlistEntriesSendDontHaveFieldEvent {
|
|
793
|
+
field: '$.wantlist.entries[].sendDontHave'
|
|
794
|
+
value: boolean
|
|
795
|
+
index: number
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
export interface BitswapMessageWantlistFullFieldEvent {
|
|
799
|
+
field: '$.wantlist.full'
|
|
800
|
+
value: boolean
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
export interface BitswapMessageBlocksPrefixFieldEvent {
|
|
804
|
+
field: '$.blocks[].prefix'
|
|
805
|
+
value: Uint8Array
|
|
806
|
+
index: number
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
export interface BitswapMessageBlocksDataFieldEvent {
|
|
810
|
+
field: '$.blocks[].data'
|
|
811
|
+
value: Uint8Array
|
|
812
|
+
index: number
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
export interface BitswapMessageBlockPresencesCidFieldEvent {
|
|
816
|
+
field: '$.blockPresences[].cid'
|
|
817
|
+
value: Uint8Array
|
|
818
|
+
index: number
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
export interface BitswapMessageBlockPresencesTypeFieldEvent {
|
|
822
|
+
field: '$.blockPresences[].type'
|
|
823
|
+
value: BlockPresenceType
|
|
824
|
+
index: number
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
export interface BitswapMessagePendingBytesFieldEvent {
|
|
828
|
+
field: '$.pendingBytes'
|
|
829
|
+
value: number
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
export function encode (obj: Partial<BitswapMessage>): Uint8Array {
|
|
459
833
|
return encodeMessage(obj, BitswapMessage.codec())
|
|
460
834
|
}
|
|
461
835
|
|
|
462
|
-
export
|
|
836
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<BitswapMessage>): BitswapMessage {
|
|
463
837
|
return decodeMessage(buf, BitswapMessage.codec(), opts)
|
|
464
838
|
}
|
|
839
|
+
|
|
840
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<BitswapMessage>): Generator<BitswapMessageWantlistEntriesCidFieldEvent | BitswapMessageWantlistEntriesPriorityFieldEvent | BitswapMessageWantlistEntriesCancelFieldEvent | BitswapMessageWantlistEntriesWantTypeFieldEvent | BitswapMessageWantlistEntriesSendDontHaveFieldEvent | BitswapMessageWantlistFullFieldEvent | BitswapMessageBlocksPrefixFieldEvent | BitswapMessageBlocksDataFieldEvent | BitswapMessageBlockPresencesCidFieldEvent | BitswapMessageBlockPresencesTypeFieldEvent | BitswapMessagePendingBytesFieldEvent> {
|
|
841
|
+
return streamMessage(buf, BitswapMessage.codec(), opts)
|
|
842
|
+
}
|
|
465
843
|
}
|
|
@@ -56,9 +56,9 @@ export class PeerWantLists {
|
|
|
56
56
|
})
|
|
57
57
|
|
|
58
58
|
this.network.addEventListener('bitswap:message', (evt) => {
|
|
59
|
-
this.receiveMessage(evt.detail.
|
|
59
|
+
this.receiveMessage(evt.detail.connection.remotePeer, evt.detail.message)
|
|
60
60
|
.catch(err => {
|
|
61
|
-
this.log.error('error receiving bitswap message from %p - %e', evt.detail.
|
|
61
|
+
this.log.error('error receiving bitswap message from %p - %e', evt.detail.connection.remotePeer, err)
|
|
62
62
|
})
|
|
63
63
|
})
|
|
64
64
|
this.network.addEventListener('peer:disconnected', evt => {
|