@helia/bitswap 0.0.0 → 1.0.0-59de059
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 +6 -1
- package/dist/src/bitswap.d.ts +3 -2
- package/dist/src/bitswap.d.ts.map +1 -1
- package/dist/src/bitswap.js +7 -14
- package/dist/src/bitswap.js.map +1 -1
- package/dist/src/constants.d.ts +2 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +2 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/index.d.ts +22 -45
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/network.d.ts +8 -7
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js +71 -169
- package/dist/src/network.js.map +1 -1
- package/dist/src/pb/message.d.ts +6 -6
- package/dist/src/pb/message.d.ts.map +1 -1
- package/dist/src/pb/message.js +37 -20
- package/dist/src/pb/message.js.map +1 -1
- package/dist/src/peer-want-lists/index.d.ts +3 -2
- package/dist/src/peer-want-lists/index.d.ts.map +1 -1
- package/dist/src/peer-want-lists/index.js +7 -3
- package/dist/src/peer-want-lists/index.js.map +1 -1
- package/dist/src/peer-want-lists/ledger.d.ts +3 -1
- package/dist/src/peer-want-lists/ledger.d.ts.map +1 -1
- package/dist/src/peer-want-lists/ledger.js +8 -0
- package/dist/src/peer-want-lists/ledger.js.map +1 -1
- package/dist/src/session.d.ts +13 -8
- package/dist/src/session.d.ts.map +1 -1
- package/dist/src/session.js +25 -88
- package/dist/src/session.js.map +1 -1
- package/dist/src/stats.d.ts +2 -2
- package/dist/src/stats.d.ts.map +1 -1
- package/dist/src/stats.js +4 -4
- package/dist/src/stats.js.map +1 -1
- package/dist/src/utils/merge-messages.d.ts +3 -0
- package/dist/src/utils/merge-messages.d.ts.map +1 -0
- package/dist/src/utils/merge-messages.js +51 -0
- package/dist/src/utils/merge-messages.js.map +1 -0
- package/dist/src/utils/split-message.d.ts +14 -0
- package/dist/src/utils/split-message.d.ts.map +1 -0
- package/dist/src/utils/split-message.js +99 -0
- package/dist/src/utils/split-message.js.map +1 -0
- package/dist/src/want-list.d.ts +20 -23
- package/dist/src/want-list.d.ts.map +1 -1
- package/dist/src/want-list.js +136 -133
- package/dist/src/want-list.js.map +1 -1
- package/package.json +6 -6
- package/src/bitswap.ts +9 -16
- package/src/constants.ts +2 -0
- package/src/index.ts +24 -51
- package/src/network.ts +83 -200
- package/src/pb/message.ts +40 -20
- package/src/peer-want-lists/index.ts +9 -5
- package/src/peer-want-lists/ledger.ts +11 -1
- package/src/session.ts +31 -120
- package/src/stats.ts +6 -6
- package/src/utils/merge-messages.ts +70 -0
- package/src/utils/split-message.ts +131 -0
- package/src/want-list.ts +205 -212
- package/dist/typedoc-urls.json +0 -24
package/dist/src/pb/message.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Codec } from 'protons-runtime';
|
|
1
|
+
import { type Codec, type DecodeOptions } from 'protons-runtime';
|
|
2
2
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
3
3
|
export declare enum WantType {
|
|
4
4
|
WantBlock = "WantBlock",
|
|
@@ -17,7 +17,7 @@ export interface WantlistEntry {
|
|
|
17
17
|
export declare namespace WantlistEntry {
|
|
18
18
|
const codec: () => Codec<WantlistEntry>;
|
|
19
19
|
const encode: (obj: Partial<WantlistEntry>) => Uint8Array;
|
|
20
|
-
const decode: (buf: Uint8Array | Uint8ArrayList) => WantlistEntry;
|
|
20
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<WantlistEntry>) => WantlistEntry;
|
|
21
21
|
}
|
|
22
22
|
export interface Wantlist {
|
|
23
23
|
entries: WantlistEntry[];
|
|
@@ -26,7 +26,7 @@ export interface Wantlist {
|
|
|
26
26
|
export declare namespace Wantlist {
|
|
27
27
|
const codec: () => Codec<Wantlist>;
|
|
28
28
|
const encode: (obj: Partial<Wantlist>) => Uint8Array;
|
|
29
|
-
const decode: (buf: Uint8Array | Uint8ArrayList) => Wantlist;
|
|
29
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Wantlist>) => Wantlist;
|
|
30
30
|
}
|
|
31
31
|
export interface Block {
|
|
32
32
|
prefix: Uint8Array;
|
|
@@ -35,7 +35,7 @@ export interface Block {
|
|
|
35
35
|
export declare namespace Block {
|
|
36
36
|
const codec: () => Codec<Block>;
|
|
37
37
|
const encode: (obj: Partial<Block>) => Uint8Array;
|
|
38
|
-
const decode: (buf: Uint8Array | Uint8ArrayList) => Block;
|
|
38
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Block>) => Block;
|
|
39
39
|
}
|
|
40
40
|
export declare enum BlockPresenceType {
|
|
41
41
|
HaveBlock = "HaveBlock",
|
|
@@ -51,7 +51,7 @@ export interface BlockPresence {
|
|
|
51
51
|
export declare namespace BlockPresence {
|
|
52
52
|
const codec: () => Codec<BlockPresence>;
|
|
53
53
|
const encode: (obj: Partial<BlockPresence>) => Uint8Array;
|
|
54
|
-
const decode: (buf: Uint8Array | Uint8ArrayList) => BlockPresence;
|
|
54
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<BlockPresence>) => BlockPresence;
|
|
55
55
|
}
|
|
56
56
|
export interface BitswapMessage {
|
|
57
57
|
wantlist?: Wantlist;
|
|
@@ -62,6 +62,6 @@ export interface BitswapMessage {
|
|
|
62
62
|
export declare namespace BitswapMessage {
|
|
63
63
|
const codec: () => Codec<BitswapMessage>;
|
|
64
64
|
const encode: (obj: Partial<BitswapMessage>) => Uint8Array;
|
|
65
|
-
const decode: (buf: Uint8Array | Uint8ArrayList) => BitswapMessage;
|
|
65
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<BitswapMessage>) => BitswapMessage;
|
|
66
66
|
}
|
|
67
67
|
//# sourceMappingURL=message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAA4B,KAAK,aAAa,EAAuC,MAAM,iBAAiB,CAAA;AAE/H,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,SAAS,cAAc,aAAa,CAAC,KAAG,aAE9F,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,CA2DtC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,QAAQ,CAAC,KAAG,UAE/C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,QAAQ,CAAC,KAAG,QAEzF,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,SAAS,cAAc,KAAK,CAAC,KAAG,KAEtF,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,SAAS,cAAc,aAAa,CAAC,KAAG,aAE9F,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,CAyF5C,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,cAAc,CAAC,KAAG,UAErD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,cAAc,CAAC,KAAG,cAE/F,CAAA;CACF"}
|
package/dist/src/pb/message.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
6
|
-
import { decodeMessage, encodeMessage, enumeration, message } from 'protons-runtime';
|
|
6
|
+
import { CodeError, decodeMessage, encodeMessage, enumeration, message } from 'protons-runtime';
|
|
7
7
|
import { alloc as uint8ArrayAlloc } from 'uint8arrays/alloc';
|
|
8
8
|
export var WantType;
|
|
9
9
|
(function (WantType) {
|
|
@@ -52,7 +52,7 @@ export var WantlistEntry;
|
|
|
52
52
|
if (opts.lengthDelimited !== false) {
|
|
53
53
|
w.ldelim();
|
|
54
54
|
}
|
|
55
|
-
}, (reader, length) => {
|
|
55
|
+
}, (reader, length, opts = {}) => {
|
|
56
56
|
const obj = {
|
|
57
57
|
cid: uint8ArrayAlloc(0),
|
|
58
58
|
priority: 0
|
|
@@ -95,8 +95,8 @@ export var WantlistEntry;
|
|
|
95
95
|
WantlistEntry.encode = (obj) => {
|
|
96
96
|
return encodeMessage(obj, WantlistEntry.codec());
|
|
97
97
|
};
|
|
98
|
-
WantlistEntry.decode = (buf) => {
|
|
99
|
-
return decodeMessage(buf, WantlistEntry.codec());
|
|
98
|
+
WantlistEntry.decode = (buf, opts) => {
|
|
99
|
+
return decodeMessage(buf, WantlistEntry.codec(), opts);
|
|
100
100
|
};
|
|
101
101
|
})(WantlistEntry || (WantlistEntry = {}));
|
|
102
102
|
export var Wantlist;
|
|
@@ -121,7 +121,7 @@ export var Wantlist;
|
|
|
121
121
|
if (opts.lengthDelimited !== false) {
|
|
122
122
|
w.ldelim();
|
|
123
123
|
}
|
|
124
|
-
}, (reader, length) => {
|
|
124
|
+
}, (reader, length, opts = {}) => {
|
|
125
125
|
const obj = {
|
|
126
126
|
entries: []
|
|
127
127
|
};
|
|
@@ -130,7 +130,12 @@ export var Wantlist;
|
|
|
130
130
|
const tag = reader.uint32();
|
|
131
131
|
switch (tag >>> 3) {
|
|
132
132
|
case 1: {
|
|
133
|
-
obj.entries.
|
|
133
|
+
if (opts.limits?.entries != null && obj.entries.length === opts.limits.entries) {
|
|
134
|
+
throw new CodeError('decode error - map field "entries" had too many elements', 'ERR_MAX_LENGTH');
|
|
135
|
+
}
|
|
136
|
+
obj.entries.push(WantlistEntry.codec().decode(reader, reader.uint32(), {
|
|
137
|
+
limits: opts.limits?.entries$
|
|
138
|
+
}));
|
|
134
139
|
break;
|
|
135
140
|
}
|
|
136
141
|
case 2: {
|
|
@@ -151,8 +156,8 @@ export var Wantlist;
|
|
|
151
156
|
Wantlist.encode = (obj) => {
|
|
152
157
|
return encodeMessage(obj, Wantlist.codec());
|
|
153
158
|
};
|
|
154
|
-
Wantlist.decode = (buf) => {
|
|
155
|
-
return decodeMessage(buf, Wantlist.codec());
|
|
159
|
+
Wantlist.decode = (buf, opts) => {
|
|
160
|
+
return decodeMessage(buf, Wantlist.codec(), opts);
|
|
156
161
|
};
|
|
157
162
|
})(Wantlist || (Wantlist = {}));
|
|
158
163
|
export var Block;
|
|
@@ -175,7 +180,7 @@ export var Block;
|
|
|
175
180
|
if (opts.lengthDelimited !== false) {
|
|
176
181
|
w.ldelim();
|
|
177
182
|
}
|
|
178
|
-
}, (reader, length) => {
|
|
183
|
+
}, (reader, length, opts = {}) => {
|
|
179
184
|
const obj = {
|
|
180
185
|
prefix: uint8ArrayAlloc(0),
|
|
181
186
|
data: uint8ArrayAlloc(0)
|
|
@@ -206,8 +211,8 @@ export var Block;
|
|
|
206
211
|
Block.encode = (obj) => {
|
|
207
212
|
return encodeMessage(obj, Block.codec());
|
|
208
213
|
};
|
|
209
|
-
Block.decode = (buf) => {
|
|
210
|
-
return decodeMessage(buf, Block.codec());
|
|
214
|
+
Block.decode = (buf, opts) => {
|
|
215
|
+
return decodeMessage(buf, Block.codec(), opts);
|
|
211
216
|
};
|
|
212
217
|
})(Block || (Block = {}));
|
|
213
218
|
export var BlockPresenceType;
|
|
@@ -245,7 +250,7 @@ export var BlockPresence;
|
|
|
245
250
|
if (opts.lengthDelimited !== false) {
|
|
246
251
|
w.ldelim();
|
|
247
252
|
}
|
|
248
|
-
}, (reader, length) => {
|
|
253
|
+
}, (reader, length, opts = {}) => {
|
|
249
254
|
const obj = {
|
|
250
255
|
cid: uint8ArrayAlloc(0),
|
|
251
256
|
type: BlockPresenceType.HaveBlock
|
|
@@ -276,8 +281,8 @@ export var BlockPresence;
|
|
|
276
281
|
BlockPresence.encode = (obj) => {
|
|
277
282
|
return encodeMessage(obj, BlockPresence.codec());
|
|
278
283
|
};
|
|
279
|
-
BlockPresence.decode = (buf) => {
|
|
280
|
-
return decodeMessage(buf, BlockPresence.codec());
|
|
284
|
+
BlockPresence.decode = (buf, opts) => {
|
|
285
|
+
return decodeMessage(buf, BlockPresence.codec(), opts);
|
|
281
286
|
};
|
|
282
287
|
})(BlockPresence || (BlockPresence = {}));
|
|
283
288
|
export var BitswapMessage;
|
|
@@ -312,7 +317,7 @@ export var BitswapMessage;
|
|
|
312
317
|
if (opts.lengthDelimited !== false) {
|
|
313
318
|
w.ldelim();
|
|
314
319
|
}
|
|
315
|
-
}, (reader, length) => {
|
|
320
|
+
}, (reader, length, opts = {}) => {
|
|
316
321
|
const obj = {
|
|
317
322
|
blocks: [],
|
|
318
323
|
blockPresences: [],
|
|
@@ -323,15 +328,27 @@ export var BitswapMessage;
|
|
|
323
328
|
const tag = reader.uint32();
|
|
324
329
|
switch (tag >>> 3) {
|
|
325
330
|
case 1: {
|
|
326
|
-
obj.wantlist = Wantlist.codec().decode(reader, reader.uint32()
|
|
331
|
+
obj.wantlist = Wantlist.codec().decode(reader, reader.uint32(), {
|
|
332
|
+
limits: opts.limits?.wantlist
|
|
333
|
+
});
|
|
327
334
|
break;
|
|
328
335
|
}
|
|
329
336
|
case 3: {
|
|
330
|
-
obj.blocks.
|
|
337
|
+
if (opts.limits?.blocks != null && obj.blocks.length === opts.limits.blocks) {
|
|
338
|
+
throw new CodeError('decode error - map field "blocks" had too many elements', 'ERR_MAX_LENGTH');
|
|
339
|
+
}
|
|
340
|
+
obj.blocks.push(Block.codec().decode(reader, reader.uint32(), {
|
|
341
|
+
limits: opts.limits?.blocks$
|
|
342
|
+
}));
|
|
331
343
|
break;
|
|
332
344
|
}
|
|
333
345
|
case 4: {
|
|
334
|
-
obj.blockPresences.
|
|
346
|
+
if (opts.limits?.blockPresences != null && obj.blockPresences.length === opts.limits.blockPresences) {
|
|
347
|
+
throw new CodeError('decode error - map field "blockPresences" had too many elements', 'ERR_MAX_LENGTH');
|
|
348
|
+
}
|
|
349
|
+
obj.blockPresences.push(BlockPresence.codec().decode(reader, reader.uint32(), {
|
|
350
|
+
limits: opts.limits?.blockPresences$
|
|
351
|
+
}));
|
|
335
352
|
break;
|
|
336
353
|
}
|
|
337
354
|
case 5: {
|
|
@@ -352,8 +369,8 @@ export var BitswapMessage;
|
|
|
352
369
|
BitswapMessage.encode = (obj) => {
|
|
353
370
|
return encodeMessage(obj, BitswapMessage.codec());
|
|
354
371
|
};
|
|
355
|
-
BitswapMessage.decode = (buf) => {
|
|
356
|
-
return decodeMessage(buf, BitswapMessage.codec());
|
|
372
|
+
BitswapMessage.decode = (buf, opts) => {
|
|
373
|
+
return decodeMessage(buf, BitswapMessage.codec(), opts);
|
|
357
374
|
};
|
|
358
375
|
})(BitswapMessage || (BitswapMessage = {}));
|
|
359
376
|
//# sourceMappingURL=message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Ledger } from './ledger.js';
|
|
|
3
3
|
import type { BitswapNotifyProgressEvents, WantListEntry } from '../index.js';
|
|
4
4
|
import type { Network } from '../network.js';
|
|
5
5
|
import type { BitswapMessage } from '../pb/message.js';
|
|
6
|
-
import type { ComponentLogger,
|
|
6
|
+
import type { ComponentLogger, Libp2p, PeerId } from '@libp2p/interface';
|
|
7
7
|
import type { PeerMap } from '@libp2p/peer-collections';
|
|
8
8
|
import type { Blockstore } from 'interface-blockstore';
|
|
9
9
|
import type { AbortOptions } from 'it-length-prefixed-stream';
|
|
@@ -14,7 +14,7 @@ export interface PeerWantListsInit {
|
|
|
14
14
|
export interface PeerWantListsComponents {
|
|
15
15
|
blockstore: Blockstore;
|
|
16
16
|
network: Network;
|
|
17
|
-
|
|
17
|
+
libp2p: Libp2p;
|
|
18
18
|
logger: ComponentLogger;
|
|
19
19
|
}
|
|
20
20
|
export interface PeerLedger {
|
|
@@ -30,6 +30,7 @@ export declare class PeerWantLists {
|
|
|
30
30
|
readonly ledgerMap: PeerMap<Ledger>;
|
|
31
31
|
private readonly maxSizeReplaceHasWithBlock?;
|
|
32
32
|
private readonly log;
|
|
33
|
+
private readonly logger;
|
|
33
34
|
constructor(components: PeerWantListsComponents, init?: PeerWantListsInit);
|
|
34
35
|
ledgerForPeer(peerId: PeerId): PeerLedger | undefined;
|
|
35
36
|
wantListForPeer(peerId: PeerId): WantListEntry[] | undefined;
|
|
@@ -1 +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,
|
|
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,EAAE,MAAM,EAAU,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChF,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,MAAM,EAAE,MAAM,CAAA;IACd,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;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE3B,UAAU,EAAE,uBAAuB,EAAE,IAAI,GAAE,iBAAsB;IAuB9E,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;IAqDvE,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"}
|
|
@@ -9,14 +9,16 @@ export class PeerWantLists {
|
|
|
9
9
|
ledgerMap;
|
|
10
10
|
maxSizeReplaceHasWithBlock;
|
|
11
11
|
log;
|
|
12
|
+
logger;
|
|
12
13
|
constructor(components, init = {}) {
|
|
13
14
|
this.blockstore = components.blockstore;
|
|
14
15
|
this.network = components.network;
|
|
15
16
|
this.maxSizeReplaceHasWithBlock = init.maxSizeReplaceHasWithBlock;
|
|
16
17
|
this.log = components.logger.forComponent('helia:bitswap:peer-want-lists');
|
|
18
|
+
this.logger = components.logger;
|
|
17
19
|
this.ledgerMap = trackedPeerMap({
|
|
18
|
-
name: '
|
|
19
|
-
metrics: components.metrics
|
|
20
|
+
name: 'helia_bitswap_ledger_map',
|
|
21
|
+
metrics: components.libp2p.metrics
|
|
20
22
|
});
|
|
21
23
|
this.network.addEventListener('bitswap:message', (evt) => {
|
|
22
24
|
this.receiveMessage(evt.detail.peer, evt.detail.message)
|
|
@@ -60,7 +62,8 @@ export class PeerWantLists {
|
|
|
60
62
|
ledger = new Ledger({
|
|
61
63
|
peerId,
|
|
62
64
|
blockstore: this.blockstore,
|
|
63
|
-
network: this.network
|
|
65
|
+
network: this.network,
|
|
66
|
+
logger: this.logger
|
|
64
67
|
}, {
|
|
65
68
|
maxSizeReplaceHasWithBlock: this.maxSizeReplaceHasWithBlock
|
|
66
69
|
});
|
|
@@ -97,6 +100,7 @@ export class PeerWantLists {
|
|
|
97
100
|
}
|
|
98
101
|
}
|
|
99
102
|
}
|
|
103
|
+
this.log('send blocks to peer');
|
|
100
104
|
await ledger.sendBlocksToPeer();
|
|
101
105
|
}
|
|
102
106
|
async receivedBlock(cid, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/peer-want-lists/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AA6BpC,MAAM,OAAO,aAAa;IACjB,UAAU,CAAY;IACtB,OAAO,CAAS;IACP,SAAS,CAAiB;IACzB,0BAA0B,CAAS;IACnC,GAAG,CAAQ;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/peer-want-lists/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WantType } from '../pb/message.js';
|
|
2
2
|
import type { Network } from '../network.js';
|
|
3
|
-
import type { PeerId } from '@libp2p/interface';
|
|
3
|
+
import type { ComponentLogger, PeerId } from '@libp2p/interface';
|
|
4
4
|
import type { Blockstore } from 'interface-blockstore';
|
|
5
5
|
import type { AbortOptions } from 'it-length-prefixed-stream';
|
|
6
6
|
import type { CID } from 'multiformats/cid';
|
|
@@ -8,6 +8,7 @@ export interface LedgerComponents {
|
|
|
8
8
|
peerId: PeerId;
|
|
9
9
|
blockstore: Blockstore;
|
|
10
10
|
network: Network;
|
|
11
|
+
logger: ComponentLogger;
|
|
11
12
|
}
|
|
12
13
|
export interface LedgerInit {
|
|
13
14
|
maxSizeReplaceHasWithBlock?: number;
|
|
@@ -45,6 +46,7 @@ export declare class Ledger {
|
|
|
45
46
|
bytesReceived: number;
|
|
46
47
|
lastExchange?: number;
|
|
47
48
|
private readonly maxSizeReplaceHasWithBlock;
|
|
49
|
+
private readonly log;
|
|
48
50
|
constructor(components: LedgerComponents, init: LedgerInit);
|
|
49
51
|
sentBytes(n: number): void;
|
|
50
52
|
receivedBytes(n: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../src/peer-want-lists/ledger.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0C,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../src/peer-want-lists/ledger.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0C,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAA;IAER;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAElB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,MAAM;IACV,MAAM,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACrC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAQ;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU;IAa3D,SAAS,CAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3B,aAAa,CAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/B,SAAS,IAAK,MAAM;IAIP,gBAAgB,CAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAgFtE"}
|
|
@@ -12,11 +12,13 @@ export class Ledger {
|
|
|
12
12
|
bytesReceived;
|
|
13
13
|
lastExchange;
|
|
14
14
|
maxSizeReplaceHasWithBlock;
|
|
15
|
+
log;
|
|
15
16
|
constructor(components, init) {
|
|
16
17
|
this.peerId = components.peerId;
|
|
17
18
|
this.blockstore = components.blockstore;
|
|
18
19
|
this.network = components.network;
|
|
19
20
|
this.wants = new Map();
|
|
21
|
+
this.log = components.logger.forComponent(`helia:bitswap:ledger:${components.peerId}`);
|
|
20
22
|
this.exchangeCount = 0;
|
|
21
23
|
this.bytesSent = 0;
|
|
22
24
|
this.bytesReceived = 0;
|
|
@@ -44,6 +46,7 @@ export class Ledger {
|
|
|
44
46
|
for (const [key, entry] of this.wants.entries()) {
|
|
45
47
|
const has = await this.blockstore.has(entry.cid, options);
|
|
46
48
|
if (!has) {
|
|
49
|
+
this.log('do not have block for %c', entry.cid);
|
|
47
50
|
// we don't have the requested block and the remote is not interested
|
|
48
51
|
// in us telling them that
|
|
49
52
|
if (!entry.sendDontHave) {
|
|
@@ -64,6 +67,7 @@ export class Ledger {
|
|
|
64
67
|
// do they want the block or just us to tell them we have the block
|
|
65
68
|
if (entry.wantType === WantType.WantHave) {
|
|
66
69
|
if (block.byteLength < this.maxSizeReplaceHasWithBlock) {
|
|
70
|
+
this.log('sending have and block for %c', entry.cid);
|
|
67
71
|
// if the block is small we just send it to them
|
|
68
72
|
sentBlocks.add(key);
|
|
69
73
|
message.blocks.push({
|
|
@@ -72,6 +76,7 @@ export class Ledger {
|
|
|
72
76
|
});
|
|
73
77
|
}
|
|
74
78
|
else {
|
|
79
|
+
this.log('sending have for %c', entry.cid);
|
|
75
80
|
// otherwise tell them we have the block
|
|
76
81
|
message.blockPresences.push({
|
|
77
82
|
cid: entry.cid.bytes,
|
|
@@ -80,6 +85,7 @@ export class Ledger {
|
|
|
80
85
|
}
|
|
81
86
|
}
|
|
82
87
|
else {
|
|
88
|
+
this.log('sending block for %c', entry.cid);
|
|
83
89
|
// they want the block, send it to them
|
|
84
90
|
sentBlocks.add(key);
|
|
85
91
|
message.blocks.push({
|
|
@@ -90,7 +96,9 @@ export class Ledger {
|
|
|
90
96
|
}
|
|
91
97
|
// only send the message if we actually have something to send
|
|
92
98
|
if (message.blocks.length > 0 || message.blockPresences.length > 0) {
|
|
99
|
+
this.log('sending message');
|
|
93
100
|
await this.network.sendMessage(this.peerId, message, options);
|
|
101
|
+
this.log('sent message');
|
|
94
102
|
// update accounting
|
|
95
103
|
this.sentBytes(message.blocks.reduce((acc, curr) => acc + curr.data.byteLength, 0));
|
|
96
104
|
// remove sent blocks from local copy of their want list - they can still
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../src/peer-want-lists/ledger.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,uCAAuC,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAuB,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../src/peer-want-lists/ledger.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,uCAAuC,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAuB,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AA8CpD,MAAM,OAAO,MAAM;IACV,MAAM,CAAQ;IACJ,UAAU,CAAY;IACtB,OAAO,CAAS;IAC1B,KAAK,CAAgC;IACrC,aAAa,CAAQ;IACrB,SAAS,CAAQ;IACjB,aAAa,CAAQ;IACrB,YAAY,CAAS;IACX,0BAA0B,CAAQ;IAClC,GAAG,CAAQ;IAE5B,YAAa,UAA4B,EAAE,IAAgB;QACzD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAA;QACvC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,wBAAwB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QAEtF,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,IAAI,uCAAuC,CAAA;IAC9G,CAAC;IAED,SAAS,CAAE,CAAS;QAClB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;QAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,aAAa,CAAE,CAAS;QACtB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;QAC1C,IAAI,CAAC,aAAa,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,SAAS;QACP,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAA,CAAC,oCAAoC;IACzF,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAE,OAAsB;QACnD,MAAM,OAAO,GAAsD;YACjE,cAAc,EAAE,EAAE;YAClB,MAAM,EAAE,EAAE;SACX,CAAA;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;QAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAEzD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;gBAE/C,qEAAqE;gBACrE,0BAA0B;gBAC1B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;oBACxB,SAAQ;gBACV,CAAC;gBAED,oDAAoD;gBACpD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;oBAChC,SAAQ;gBACV,CAAC;gBAED,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;gBACzB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;oBAC1B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;oBACpB,IAAI,EAAE,iBAAiB,CAAC,aAAa;iBACtC,CAAC,CAAA;gBAEF,SAAQ;YACV,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAE3D,mEAAmE;YACnE,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACzC,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBACvD,IAAI,CAAC,GAAG,CAAC,+BAA+B,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;oBACpD,gDAAgD;oBAChD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACnB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;qBAC/B,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;oBAC1C,wCAAwC;oBACxC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;wBAC1B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;wBACpB,IAAI,EAAE,iBAAiB,CAAC,SAAS;qBAClC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC3C,uCAAuC;gBACvC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACnB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;iBAC/B,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;YAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7D,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAExB,oBAAoB;YACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;YAEnF,yEAAyE;YACzE,yBAAyB;YACzB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/dist/src/session.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { AbstractSession } from '@helia/utils';
|
|
2
|
+
import type { BitswapWantProgressEvents } from './index.js';
|
|
2
3
|
import type { Network } from './network.js';
|
|
3
4
|
import type { WantList } from './want-list.js';
|
|
5
|
+
import type { CreateSessionOptions } from '@helia/interface';
|
|
4
6
|
import type { ComponentLogger, PeerId } from '@libp2p/interface';
|
|
5
7
|
import type { AbortOptions } from 'interface-store';
|
|
6
8
|
import type { CID } from 'multiformats/cid';
|
|
@@ -9,12 +11,15 @@ export interface BitswapSessionComponents {
|
|
|
9
11
|
wantList: WantList;
|
|
10
12
|
logger: ComponentLogger;
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
declare class BitswapSession extends AbstractSession<PeerId, BitswapWantProgressEvents> {
|
|
15
|
+
private readonly wantList;
|
|
16
|
+
private readonly network;
|
|
17
|
+
constructor(components: BitswapSessionComponents, init: CreateSessionOptions);
|
|
18
|
+
queryProvider(cid: CID, provider: PeerId, options: AbortOptions): Promise<Uint8Array>;
|
|
19
|
+
findNewProviders(cid: CID, options?: AbortOptions): AsyncGenerator<PeerId>;
|
|
20
|
+
toEvictionKey(provider: PeerId): Uint8Array | string;
|
|
21
|
+
equals(providerA: PeerId, providerB: PeerId): boolean;
|
|
18
22
|
}
|
|
19
|
-
export declare function createBitswapSession(components: BitswapSessionComponents, init:
|
|
23
|
+
export declare function createBitswapSession(components: BitswapSessionComponents, init: CreateSessionOptions): BitswapSession;
|
|
24
|
+
export {};
|
|
20
25
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,cAAM,cAAe,SAAQ,eAAe,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC7E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAEpB,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,oBAAoB;IAUvE,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAcpF,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB,GAAG,cAAc,CAAC,MAAM,CAAC;IAMvF,aAAa,CAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM;IAIrD,MAAM,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAGvD;AAED,wBAAgB,oBAAoB,CAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,oBAAoB,GAAG,cAAc,CAEtH"}
|