@helia/bitswap 0.0.0-329652a

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.
Files changed (70) hide show
  1. package/LICENSE +4 -0
  2. package/README.md +64 -0
  3. package/dist/index.min.js +3 -0
  4. package/dist/src/bitswap.d.ts +50 -0
  5. package/dist/src/bitswap.d.ts.map +1 -0
  6. package/dist/src/bitswap.js +120 -0
  7. package/dist/src/bitswap.js.map +1 -0
  8. package/dist/src/constants.d.ts +12 -0
  9. package/dist/src/constants.d.ts.map +1 -0
  10. package/dist/src/constants.js +12 -0
  11. package/dist/src/constants.js.map +1 -0
  12. package/dist/src/index.d.ts +178 -0
  13. package/dist/src/index.d.ts.map +1 -0
  14. package/dist/src/index.js +12 -0
  15. package/dist/src/index.js.map +1 -0
  16. package/dist/src/network.d.ts +84 -0
  17. package/dist/src/network.d.ts.map +1 -0
  18. package/dist/src/network.js +370 -0
  19. package/dist/src/network.js.map +1 -0
  20. package/dist/src/pb/message.d.ts +67 -0
  21. package/dist/src/pb/message.d.ts.map +1 -0
  22. package/dist/src/pb/message.js +359 -0
  23. package/dist/src/pb/message.js.map +1 -0
  24. package/dist/src/peer-want-lists/index.d.ts +44 -0
  25. package/dist/src/peer-want-lists/index.d.ts.map +1 -0
  26. package/dist/src/peer-want-lists/index.js +116 -0
  27. package/dist/src/peer-want-lists/index.js.map +1 -0
  28. package/dist/src/peer-want-lists/ledger.d.ts +54 -0
  29. package/dist/src/peer-want-lists/ledger.d.ts.map +1 -0
  30. package/dist/src/peer-want-lists/ledger.js +104 -0
  31. package/dist/src/peer-want-lists/ledger.js.map +1 -0
  32. package/dist/src/session.d.ts +20 -0
  33. package/dist/src/session.d.ts.map +1 -0
  34. package/dist/src/session.js +100 -0
  35. package/dist/src/session.js.map +1 -0
  36. package/dist/src/stats.d.ts +16 -0
  37. package/dist/src/stats.d.ts.map +1 -0
  38. package/dist/src/stats.js +49 -0
  39. package/dist/src/stats.js.map +1 -0
  40. package/dist/src/utils/cid-prefix.d.ts +3 -0
  41. package/dist/src/utils/cid-prefix.d.ts.map +1 -0
  42. package/dist/src/utils/cid-prefix.js +7 -0
  43. package/dist/src/utils/cid-prefix.js.map +1 -0
  44. package/dist/src/utils/varint-decoder.d.ts +3 -0
  45. package/dist/src/utils/varint-decoder.d.ts.map +1 -0
  46. package/dist/src/utils/varint-decoder.js +15 -0
  47. package/dist/src/utils/varint-decoder.js.map +1 -0
  48. package/dist/src/utils/varint-encoder.d.ts +3 -0
  49. package/dist/src/utils/varint-encoder.d.ts.map +1 -0
  50. package/dist/src/utils/varint-encoder.js +14 -0
  51. package/dist/src/utils/varint-encoder.js.map +1 -0
  52. package/dist/src/want-list.d.ts +120 -0
  53. package/dist/src/want-list.d.ts.map +1 -0
  54. package/dist/src/want-list.js +361 -0
  55. package/dist/src/want-list.js.map +1 -0
  56. package/package.json +200 -0
  57. package/src/bitswap.ts +152 -0
  58. package/src/constants.ts +11 -0
  59. package/src/index.ts +215 -0
  60. package/src/network.ts +506 -0
  61. package/src/pb/message.proto +42 -0
  62. package/src/pb/message.ts +450 -0
  63. package/src/peer-want-lists/index.ts +165 -0
  64. package/src/peer-want-lists/ledger.ts +161 -0
  65. package/src/session.ts +150 -0
  66. package/src/stats.ts +67 -0
  67. package/src/utils/cid-prefix.ts +8 -0
  68. package/src/utils/varint-decoder.ts +19 -0
  69. package/src/utils/varint-encoder.ts +18 -0
  70. package/src/want-list.ts +529 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { type Codec } from 'protons-runtime';
2
+ import type { Uint8ArrayList } from 'uint8arraylist';
3
+ export declare enum WantType {
4
+ WantBlock = "WantBlock",
5
+ WantHave = "WantHave"
6
+ }
7
+ export declare namespace WantType {
8
+ const codec: () => Codec<WantType>;
9
+ }
10
+ export interface WantlistEntry {
11
+ cid: Uint8Array;
12
+ priority: number;
13
+ cancel?: boolean;
14
+ wantType?: WantType;
15
+ sendDontHave?: boolean;
16
+ }
17
+ export declare namespace WantlistEntry {
18
+ const codec: () => Codec<WantlistEntry>;
19
+ const encode: (obj: Partial<WantlistEntry>) => Uint8Array;
20
+ const decode: (buf: Uint8Array | Uint8ArrayList) => WantlistEntry;
21
+ }
22
+ export interface Wantlist {
23
+ entries: WantlistEntry[];
24
+ full?: boolean;
25
+ }
26
+ export declare namespace Wantlist {
27
+ const codec: () => Codec<Wantlist>;
28
+ const encode: (obj: Partial<Wantlist>) => Uint8Array;
29
+ const decode: (buf: Uint8Array | Uint8ArrayList) => Wantlist;
30
+ }
31
+ export interface Block {
32
+ prefix: Uint8Array;
33
+ data: Uint8Array;
34
+ }
35
+ export declare namespace Block {
36
+ const codec: () => Codec<Block>;
37
+ const encode: (obj: Partial<Block>) => Uint8Array;
38
+ const decode: (buf: Uint8Array | Uint8ArrayList) => Block;
39
+ }
40
+ export declare enum BlockPresenceType {
41
+ HaveBlock = "HaveBlock",
42
+ DontHaveBlock = "DontHaveBlock"
43
+ }
44
+ export declare namespace BlockPresenceType {
45
+ const codec: () => Codec<BlockPresenceType>;
46
+ }
47
+ export interface BlockPresence {
48
+ cid: Uint8Array;
49
+ type: BlockPresenceType;
50
+ }
51
+ export declare namespace BlockPresence {
52
+ const codec: () => Codec<BlockPresence>;
53
+ const encode: (obj: Partial<BlockPresence>) => Uint8Array;
54
+ const decode: (buf: Uint8Array | Uint8ArrayList) => BlockPresence;
55
+ }
56
+ export interface BitswapMessage {
57
+ wantlist?: Wantlist;
58
+ blocks: Block[];
59
+ blockPresences: BlockPresence[];
60
+ pendingBytes: number;
61
+ }
62
+ export declare namespace BitswapMessage {
63
+ const codec: () => Codec<BitswapMessage>;
64
+ const encode: (obj: Partial<BitswapMessage>) => Uint8Array;
65
+ const decode: (buf: Uint8Array | Uint8ArrayList) => BitswapMessage;
66
+ }
67
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAsD,MAAM,iBAAiB,CAAA;AAEhG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,oBAAY,QAAQ;IAClB,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB;AAOD,yBAAiB,QAAQ,CAAC;IACjB,MAAM,KAAK,QAAO,MAAM,QAAQ,CAEtC,CAAA;CACF;AACD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,UAAU,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,yBAAiB,aAAa,CAAC;IAGtB,MAAM,KAAK,QAAO,MAAM,aAAa,CA+E3C,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,aAAa,CAAC,KAAG,UAEpD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,aAEzD,CAAA;CACF;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,yBAAiB,QAAQ,CAAC;IAGjB,MAAM,KAAK,QAAO,MAAM,QAAQ,CAqDtC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,QAAQ,CAAC,KAAG,UAE/C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,QAEzD,CAAA;CACF;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,yBAAiB,KAAK,CAAC;IAGd,MAAM,KAAK,QAAO,MAAM,KAAK,CAoDnC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,KAAK,CAAC,KAAG,UAE5C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,KAEzD,CAAA;CACF;AAED,oBAAY,iBAAiB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;CAChC;AAOD,yBAAiB,iBAAiB,CAAC;IAC1B,MAAM,KAAK,QAAO,MAAM,iBAAiB,CAE/C,CAAA;CACF;AACD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,UAAU,CAAA;IACf,IAAI,EAAE,iBAAiB,CAAA;CACxB;AAED,yBAAiB,aAAa,CAAC;IAGtB,MAAM,KAAK,QAAO,MAAM,aAAa,CAoD3C,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,aAAa,CAAC,KAAG,UAEpD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,aAEzD,CAAA;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,yBAAiB,cAAc,CAAC;IAGvB,MAAM,KAAK,QAAO,MAAM,cAAc,CA2E5C,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,cAAc,CAAC,KAAG,UAErD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,cAEzD,CAAA;CACF"}
@@ -0,0 +1,359 @@
1
+ /* eslint-disable import/export */
2
+ /* eslint-disable complexity */
3
+ /* eslint-disable @typescript-eslint/no-namespace */
4
+ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
5
+ /* eslint-disable @typescript-eslint/no-empty-interface */
6
+ import { decodeMessage, encodeMessage, enumeration, message } from 'protons-runtime';
7
+ import { alloc as uint8ArrayAlloc } from 'uint8arrays/alloc';
8
+ export var WantType;
9
+ (function (WantType) {
10
+ WantType["WantBlock"] = "WantBlock";
11
+ WantType["WantHave"] = "WantHave";
12
+ })(WantType || (WantType = {}));
13
+ var __WantTypeValues;
14
+ (function (__WantTypeValues) {
15
+ __WantTypeValues[__WantTypeValues["WantBlock"] = 0] = "WantBlock";
16
+ __WantTypeValues[__WantTypeValues["WantHave"] = 1] = "WantHave";
17
+ })(__WantTypeValues || (__WantTypeValues = {}));
18
+ (function (WantType) {
19
+ WantType.codec = () => {
20
+ return enumeration(__WantTypeValues);
21
+ };
22
+ })(WantType || (WantType = {}));
23
+ export var WantlistEntry;
24
+ (function (WantlistEntry) {
25
+ let _codec;
26
+ WantlistEntry.codec = () => {
27
+ if (_codec == null) {
28
+ _codec = message((obj, w, opts = {}) => {
29
+ if (opts.lengthDelimited !== false) {
30
+ w.fork();
31
+ }
32
+ if ((obj.cid != null && obj.cid.byteLength > 0)) {
33
+ w.uint32(10);
34
+ w.bytes(obj.cid);
35
+ }
36
+ if ((obj.priority != null && obj.priority !== 0)) {
37
+ w.uint32(16);
38
+ w.int32(obj.priority);
39
+ }
40
+ if (obj.cancel != null) {
41
+ w.uint32(24);
42
+ w.bool(obj.cancel);
43
+ }
44
+ if (obj.wantType != null) {
45
+ w.uint32(32);
46
+ WantType.codec().encode(obj.wantType, w);
47
+ }
48
+ if (obj.sendDontHave != null) {
49
+ w.uint32(40);
50
+ w.bool(obj.sendDontHave);
51
+ }
52
+ if (opts.lengthDelimited !== false) {
53
+ w.ldelim();
54
+ }
55
+ }, (reader, length) => {
56
+ const obj = {
57
+ cid: uint8ArrayAlloc(0),
58
+ priority: 0
59
+ };
60
+ const end = length == null ? reader.len : reader.pos + length;
61
+ while (reader.pos < end) {
62
+ const tag = reader.uint32();
63
+ switch (tag >>> 3) {
64
+ case 1: {
65
+ obj.cid = reader.bytes();
66
+ break;
67
+ }
68
+ case 2: {
69
+ obj.priority = reader.int32();
70
+ break;
71
+ }
72
+ case 3: {
73
+ obj.cancel = reader.bool();
74
+ break;
75
+ }
76
+ case 4: {
77
+ obj.wantType = WantType.codec().decode(reader);
78
+ break;
79
+ }
80
+ case 5: {
81
+ obj.sendDontHave = reader.bool();
82
+ break;
83
+ }
84
+ default: {
85
+ reader.skipType(tag & 7);
86
+ break;
87
+ }
88
+ }
89
+ }
90
+ return obj;
91
+ });
92
+ }
93
+ return _codec;
94
+ };
95
+ WantlistEntry.encode = (obj) => {
96
+ return encodeMessage(obj, WantlistEntry.codec());
97
+ };
98
+ WantlistEntry.decode = (buf) => {
99
+ return decodeMessage(buf, WantlistEntry.codec());
100
+ };
101
+ })(WantlistEntry || (WantlistEntry = {}));
102
+ export var Wantlist;
103
+ (function (Wantlist) {
104
+ let _codec;
105
+ Wantlist.codec = () => {
106
+ if (_codec == null) {
107
+ _codec = message((obj, w, opts = {}) => {
108
+ if (opts.lengthDelimited !== false) {
109
+ w.fork();
110
+ }
111
+ if (obj.entries != null) {
112
+ for (const value of obj.entries) {
113
+ w.uint32(10);
114
+ WantlistEntry.codec().encode(value, w);
115
+ }
116
+ }
117
+ if (obj.full != null) {
118
+ w.uint32(16);
119
+ w.bool(obj.full);
120
+ }
121
+ if (opts.lengthDelimited !== false) {
122
+ w.ldelim();
123
+ }
124
+ }, (reader, length) => {
125
+ const obj = {
126
+ entries: []
127
+ };
128
+ const end = length == null ? reader.len : reader.pos + length;
129
+ while (reader.pos < end) {
130
+ const tag = reader.uint32();
131
+ switch (tag >>> 3) {
132
+ case 1: {
133
+ obj.entries.push(WantlistEntry.codec().decode(reader, reader.uint32()));
134
+ break;
135
+ }
136
+ case 2: {
137
+ obj.full = reader.bool();
138
+ break;
139
+ }
140
+ default: {
141
+ reader.skipType(tag & 7);
142
+ break;
143
+ }
144
+ }
145
+ }
146
+ return obj;
147
+ });
148
+ }
149
+ return _codec;
150
+ };
151
+ Wantlist.encode = (obj) => {
152
+ return encodeMessage(obj, Wantlist.codec());
153
+ };
154
+ Wantlist.decode = (buf) => {
155
+ return decodeMessage(buf, Wantlist.codec());
156
+ };
157
+ })(Wantlist || (Wantlist = {}));
158
+ export var Block;
159
+ (function (Block) {
160
+ let _codec;
161
+ Block.codec = () => {
162
+ if (_codec == null) {
163
+ _codec = message((obj, w, opts = {}) => {
164
+ if (opts.lengthDelimited !== false) {
165
+ w.fork();
166
+ }
167
+ if ((obj.prefix != null && obj.prefix.byteLength > 0)) {
168
+ w.uint32(10);
169
+ w.bytes(obj.prefix);
170
+ }
171
+ if ((obj.data != null && obj.data.byteLength > 0)) {
172
+ w.uint32(18);
173
+ w.bytes(obj.data);
174
+ }
175
+ if (opts.lengthDelimited !== false) {
176
+ w.ldelim();
177
+ }
178
+ }, (reader, length) => {
179
+ const obj = {
180
+ prefix: uint8ArrayAlloc(0),
181
+ data: uint8ArrayAlloc(0)
182
+ };
183
+ const end = length == null ? reader.len : reader.pos + length;
184
+ while (reader.pos < end) {
185
+ const tag = reader.uint32();
186
+ switch (tag >>> 3) {
187
+ case 1: {
188
+ obj.prefix = reader.bytes();
189
+ break;
190
+ }
191
+ case 2: {
192
+ obj.data = reader.bytes();
193
+ break;
194
+ }
195
+ default: {
196
+ reader.skipType(tag & 7);
197
+ break;
198
+ }
199
+ }
200
+ }
201
+ return obj;
202
+ });
203
+ }
204
+ return _codec;
205
+ };
206
+ Block.encode = (obj) => {
207
+ return encodeMessage(obj, Block.codec());
208
+ };
209
+ Block.decode = (buf) => {
210
+ return decodeMessage(buf, Block.codec());
211
+ };
212
+ })(Block || (Block = {}));
213
+ export var BlockPresenceType;
214
+ (function (BlockPresenceType) {
215
+ BlockPresenceType["HaveBlock"] = "HaveBlock";
216
+ BlockPresenceType["DontHaveBlock"] = "DontHaveBlock";
217
+ })(BlockPresenceType || (BlockPresenceType = {}));
218
+ var __BlockPresenceTypeValues;
219
+ (function (__BlockPresenceTypeValues) {
220
+ __BlockPresenceTypeValues[__BlockPresenceTypeValues["HaveBlock"] = 0] = "HaveBlock";
221
+ __BlockPresenceTypeValues[__BlockPresenceTypeValues["DontHaveBlock"] = 1] = "DontHaveBlock";
222
+ })(__BlockPresenceTypeValues || (__BlockPresenceTypeValues = {}));
223
+ (function (BlockPresenceType) {
224
+ BlockPresenceType.codec = () => {
225
+ return enumeration(__BlockPresenceTypeValues);
226
+ };
227
+ })(BlockPresenceType || (BlockPresenceType = {}));
228
+ export var BlockPresence;
229
+ (function (BlockPresence) {
230
+ let _codec;
231
+ BlockPresence.codec = () => {
232
+ if (_codec == null) {
233
+ _codec = message((obj, w, opts = {}) => {
234
+ if (opts.lengthDelimited !== false) {
235
+ w.fork();
236
+ }
237
+ if ((obj.cid != null && obj.cid.byteLength > 0)) {
238
+ w.uint32(10);
239
+ w.bytes(obj.cid);
240
+ }
241
+ if (obj.type != null && __BlockPresenceTypeValues[obj.type] !== 0) {
242
+ w.uint32(16);
243
+ BlockPresenceType.codec().encode(obj.type, w);
244
+ }
245
+ if (opts.lengthDelimited !== false) {
246
+ w.ldelim();
247
+ }
248
+ }, (reader, length) => {
249
+ const obj = {
250
+ cid: uint8ArrayAlloc(0),
251
+ type: BlockPresenceType.HaveBlock
252
+ };
253
+ const end = length == null ? reader.len : reader.pos + length;
254
+ while (reader.pos < end) {
255
+ const tag = reader.uint32();
256
+ switch (tag >>> 3) {
257
+ case 1: {
258
+ obj.cid = reader.bytes();
259
+ break;
260
+ }
261
+ case 2: {
262
+ obj.type = BlockPresenceType.codec().decode(reader);
263
+ break;
264
+ }
265
+ default: {
266
+ reader.skipType(tag & 7);
267
+ break;
268
+ }
269
+ }
270
+ }
271
+ return obj;
272
+ });
273
+ }
274
+ return _codec;
275
+ };
276
+ BlockPresence.encode = (obj) => {
277
+ return encodeMessage(obj, BlockPresence.codec());
278
+ };
279
+ BlockPresence.decode = (buf) => {
280
+ return decodeMessage(buf, BlockPresence.codec());
281
+ };
282
+ })(BlockPresence || (BlockPresence = {}));
283
+ export var BitswapMessage;
284
+ (function (BitswapMessage) {
285
+ let _codec;
286
+ BitswapMessage.codec = () => {
287
+ if (_codec == null) {
288
+ _codec = message((obj, w, opts = {}) => {
289
+ if (opts.lengthDelimited !== false) {
290
+ w.fork();
291
+ }
292
+ if (obj.wantlist != null) {
293
+ w.uint32(10);
294
+ Wantlist.codec().encode(obj.wantlist, w);
295
+ }
296
+ if (obj.blocks != null) {
297
+ for (const value of obj.blocks) {
298
+ w.uint32(26);
299
+ Block.codec().encode(value, w);
300
+ }
301
+ }
302
+ if (obj.blockPresences != null) {
303
+ for (const value of obj.blockPresences) {
304
+ w.uint32(34);
305
+ BlockPresence.codec().encode(value, w);
306
+ }
307
+ }
308
+ if ((obj.pendingBytes != null && obj.pendingBytes !== 0)) {
309
+ w.uint32(40);
310
+ w.int32(obj.pendingBytes);
311
+ }
312
+ if (opts.lengthDelimited !== false) {
313
+ w.ldelim();
314
+ }
315
+ }, (reader, length) => {
316
+ const obj = {
317
+ blocks: [],
318
+ blockPresences: [],
319
+ pendingBytes: 0
320
+ };
321
+ const end = length == null ? reader.len : reader.pos + length;
322
+ while (reader.pos < end) {
323
+ const tag = reader.uint32();
324
+ switch (tag >>> 3) {
325
+ case 1: {
326
+ obj.wantlist = Wantlist.codec().decode(reader, reader.uint32());
327
+ break;
328
+ }
329
+ case 3: {
330
+ obj.blocks.push(Block.codec().decode(reader, reader.uint32()));
331
+ break;
332
+ }
333
+ case 4: {
334
+ obj.blockPresences.push(BlockPresence.codec().decode(reader, reader.uint32()));
335
+ break;
336
+ }
337
+ case 5: {
338
+ obj.pendingBytes = reader.int32();
339
+ break;
340
+ }
341
+ default: {
342
+ reader.skipType(tag & 7);
343
+ break;
344
+ }
345
+ }
346
+ }
347
+ return obj;
348
+ });
349
+ }
350
+ return _codec;
351
+ };
352
+ BitswapMessage.encode = (obj) => {
353
+ return encodeMessage(obj, BitswapMessage.codec());
354
+ };
355
+ BitswapMessage.decode = (buf) => {
356
+ return decodeMessage(buf, BitswapMessage.codec());
357
+ };
358
+ })(BitswapMessage || (BitswapMessage = {}));
359
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { CID } from 'multiformats/cid';
2
+ import { Ledger } from './ledger.js';
3
+ import type { BitswapNotifyProgressEvents, WantListEntry } from '../index.js';
4
+ import type { Network } from '../network.js';
5
+ import type { BitswapMessage } from '../pb/message.js';
6
+ import type { ComponentLogger, Metrics, PeerId } from '@libp2p/interface';
7
+ import type { PeerMap } from '@libp2p/peer-collections';
8
+ import type { Blockstore } from 'interface-blockstore';
9
+ import type { AbortOptions } from 'it-length-prefixed-stream';
10
+ import type { ProgressOptions } from 'progress-events';
11
+ export interface PeerWantListsInit {
12
+ maxSizeReplaceHasWithBlock?: number;
13
+ }
14
+ export interface PeerWantListsComponents {
15
+ blockstore: Blockstore;
16
+ network: Network;
17
+ metrics?: Metrics;
18
+ logger: ComponentLogger;
19
+ }
20
+ export interface PeerLedger {
21
+ peer: PeerId;
22
+ value: number;
23
+ sent: number;
24
+ received: number;
25
+ exchanged: number;
26
+ }
27
+ export declare class PeerWantLists {
28
+ blockstore: Blockstore;
29
+ network: Network;
30
+ readonly ledgerMap: PeerMap<Ledger>;
31
+ private readonly maxSizeReplaceHasWithBlock?;
32
+ private readonly log;
33
+ constructor(components: PeerWantListsComponents, init?: PeerWantListsInit);
34
+ ledgerForPeer(peerId: PeerId): PeerLedger | undefined;
35
+ wantListForPeer(peerId: PeerId): WantListEntry[] | undefined;
36
+ peers(): PeerId[];
37
+ /**
38
+ * Handle incoming messages
39
+ */
40
+ receiveMessage(peerId: PeerId, message: BitswapMessage): Promise<void>;
41
+ receivedBlock(cid: CID, options: ProgressOptions<BitswapNotifyProgressEvents> & AbortOptions): Promise<void>;
42
+ peerDisconnected(peerId: PeerId): void;
43
+ }
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/peer-want-lists/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,iBAAiB;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,aAAa;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IACvB,SAAgB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAQ;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,uBAAuB,EAAE,IAAI,GAAE,iBAAsB;IAsB9E,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAgBtD,eAAe,CAAE,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,SAAS;IAU7D,KAAK,IAAK,MAAM,EAAE;IAIlB;;OAEG;IACG,cAAc,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDvE,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAenH,gBAAgB,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAGxC"}
@@ -0,0 +1,116 @@
1
+ import { trackedPeerMap } from '@libp2p/peer-collections';
2
+ import { CID } from 'multiformats/cid';
3
+ import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
4
+ import { WantType } from '../pb/message.js';
5
+ import { Ledger } from './ledger.js';
6
+ export class PeerWantLists {
7
+ blockstore;
8
+ network;
9
+ ledgerMap;
10
+ maxSizeReplaceHasWithBlock;
11
+ log;
12
+ constructor(components, init = {}) {
13
+ this.blockstore = components.blockstore;
14
+ this.network = components.network;
15
+ this.maxSizeReplaceHasWithBlock = init.maxSizeReplaceHasWithBlock;
16
+ this.log = components.logger.forComponent('helia:bitswap:peer-want-lists');
17
+ this.ledgerMap = trackedPeerMap({
18
+ name: 'ipfs_bitswap_ledger_map',
19
+ metrics: components.metrics
20
+ });
21
+ this.network.addEventListener('bitswap:message', (evt) => {
22
+ this.receiveMessage(evt.detail.peer, evt.detail.message)
23
+ .catch(err => {
24
+ this.log.error('error receiving bitswap message from %p', evt.detail.peer, err);
25
+ });
26
+ });
27
+ this.network.addEventListener('peer:disconnected', evt => {
28
+ this.peerDisconnected(evt.detail);
29
+ });
30
+ }
31
+ ledgerForPeer(peerId) {
32
+ const ledger = this.ledgerMap.get(peerId);
33
+ if (ledger == null) {
34
+ return undefined;
35
+ }
36
+ return {
37
+ peer: ledger.peerId,
38
+ value: ledger.debtRatio(),
39
+ sent: ledger.bytesSent,
40
+ received: ledger.bytesReceived,
41
+ exchanged: ledger.exchangeCount
42
+ };
43
+ }
44
+ wantListForPeer(peerId) {
45
+ const ledger = this.ledgerMap.get(peerId);
46
+ if (ledger == null) {
47
+ return undefined;
48
+ }
49
+ return [...ledger.wants.values()];
50
+ }
51
+ peers() {
52
+ return Array.from(this.ledgerMap.values()).map((l) => l.peerId);
53
+ }
54
+ /**
55
+ * Handle incoming messages
56
+ */
57
+ async receiveMessage(peerId, message) {
58
+ let ledger = this.ledgerMap.get(peerId);
59
+ if (ledger == null) {
60
+ ledger = new Ledger({
61
+ peerId,
62
+ blockstore: this.blockstore,
63
+ network: this.network
64
+ }, {
65
+ maxSizeReplaceHasWithBlock: this.maxSizeReplaceHasWithBlock
66
+ });
67
+ this.ledgerMap.set(peerId, ledger);
68
+ }
69
+ // record the amount of block data received
70
+ ledger.receivedBytes(message.blocks?.reduce((acc, curr) => acc + curr.data.byteLength, 0) ?? 0);
71
+ if (message.wantlist != null) {
72
+ // if the message has a full wantlist, clear the current wantlist
73
+ if (message.wantlist.full === true) {
74
+ ledger.wants.clear();
75
+ }
76
+ // clear cancelled wants and add new wants to the ledger
77
+ for (const entry of message.wantlist.entries) {
78
+ const cid = CID.decode(entry.cid);
79
+ const cidStr = uint8ArrayToString(cid.multihash.bytes, 'base64');
80
+ if (entry.cancel === true) {
81
+ this.log('peer %p cancelled want of block for %c', peerId, cid);
82
+ ledger.wants.delete(cidStr);
83
+ }
84
+ else {
85
+ if (entry.wantType === WantType.WantHave) {
86
+ this.log('peer %p wanted block presence for %c', peerId, cid);
87
+ }
88
+ else {
89
+ this.log('peer %p wanted block for %c', peerId, cid);
90
+ }
91
+ ledger.wants.set(cidStr, {
92
+ cid,
93
+ priority: entry.priority,
94
+ wantType: entry.wantType ?? WantType.WantBlock,
95
+ sendDontHave: entry.sendDontHave ?? false
96
+ });
97
+ }
98
+ }
99
+ }
100
+ await ledger.sendBlocksToPeer();
101
+ }
102
+ async receivedBlock(cid, options) {
103
+ const cidStr = uint8ArrayToString(cid.multihash.bytes, 'base64');
104
+ const ledgers = [];
105
+ for (const ledger of this.ledgerMap.values()) {
106
+ if (ledger.wants.has(cidStr)) {
107
+ ledgers.push(ledger);
108
+ }
109
+ }
110
+ await Promise.all(ledgers.map(async (ledger) => ledger.sendBlocksToPeer(options)));
111
+ }
112
+ peerDisconnected(peerId) {
113
+ this.ledgerMap.delete(peerId);
114
+ }
115
+ }
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/peer-want-lists/index.ts"],"names":[],"mappings":"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"}