@helia/bitswap 4.0.6 → 4.0.7
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 +3 -3
- package/dist/src/session.d.ts +1 -0
- package/dist/src/session.d.ts.map +1 -1
- package/dist/src/session.js +12 -4
- package/dist/src/session.js.map +1 -1
- package/package.json +4 -4
- package/src/session.ts +14 -4
package/dist/src/session.d.ts
CHANGED
|
@@ -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":"AACA,OAAO,EAAE,eAAe,EAAS,MAAM,cAAc,CAAA;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,OAAO,KAAK,EAAmB,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,GAAG,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,IAAI,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,cAAM,cAAe,SAAQ,eAAe,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACnF,SAAgB,IAAI,qBAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAElB,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,oBAAoB;IAWvE,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAwB1F,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB,GAAG,cAAc,CAAC,YAAY,CAAC;IAW7F,WAAW,CAAE,QAAQ,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM;IAIzD,MAAM,CAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO;IAI5D,iBAAiB,CAAE,QAAQ,EAAE,GAAG,GAAG,SAAS,GAAG,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IA0B5I,8BAA8B,CAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,CAAC,yBAAyB,CAAC,GAAG,IAAI;CAanI;AAED,wBAAgB,oBAAoB,CAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,oBAAoB,GAAG,cAAc,CAEtH"}
|
package/dist/src/session.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NoEvictionError } from '@helia/interface';
|
|
1
2
|
import { AbstractSession, isCID } from '@helia/utils';
|
|
2
3
|
import { peerIdFromCID } from '@libp2p/peer-id';
|
|
3
4
|
import { CID } from 'multiformats/cid';
|
|
@@ -17,6 +18,9 @@ class BitswapSession extends AbstractSession {
|
|
|
17
18
|
this.libp2p = components.libp2p;
|
|
18
19
|
}
|
|
19
20
|
async queryProvider(cid, provider, options) {
|
|
21
|
+
if (options.signal?.aborted === true) {
|
|
22
|
+
throw new NoEvictionError(`Signal to want session block for CID ${cid} from peer ${provider} was aborted prior to want`);
|
|
23
|
+
}
|
|
20
24
|
const peerId = peerIdFromCID(provider.peerId);
|
|
21
25
|
this.log('sending WANT-BLOCK for %c to %p', cid, peerId);
|
|
22
26
|
const result = await this.wantList.wantSessionBlock(cid, peerId, options);
|
|
@@ -34,7 +38,8 @@ class BitswapSession extends AbstractSession {
|
|
|
34
38
|
yield {
|
|
35
39
|
peerId: provider.id,
|
|
36
40
|
router: provider.router,
|
|
37
|
-
toString: () => `Bitswap(${provider.id})
|
|
41
|
+
toString: () => `Bitswap(${provider.id})`,
|
|
42
|
+
fallback: provider.fallback
|
|
38
43
|
};
|
|
39
44
|
}
|
|
40
45
|
}
|
|
@@ -49,7 +54,8 @@ class BitswapSession extends AbstractSession {
|
|
|
49
54
|
return {
|
|
50
55
|
peerId: provider,
|
|
51
56
|
router,
|
|
52
|
-
toString: () => `Bitswap(${provider})
|
|
57
|
+
toString: () => `Bitswap(${provider})`,
|
|
58
|
+
fallback: false
|
|
53
59
|
};
|
|
54
60
|
}
|
|
55
61
|
if (await this.libp2p.isDialable(provider) === false) {
|
|
@@ -60,7 +66,8 @@ class BitswapSession extends AbstractSession {
|
|
|
60
66
|
return {
|
|
61
67
|
peerId: connection.remotePeer.toCID(),
|
|
62
68
|
router,
|
|
63
|
-
toString: () => `Bitswap(${connection.remotePeer})
|
|
69
|
+
toString: () => `Bitswap(${connection.remotePeer})`,
|
|
70
|
+
fallback: false
|
|
64
71
|
};
|
|
65
72
|
}
|
|
66
73
|
catch { }
|
|
@@ -72,7 +79,8 @@ class BitswapSession extends AbstractSession {
|
|
|
72
79
|
provider: {
|
|
73
80
|
id: provider.peerId,
|
|
74
81
|
multiaddrs: [],
|
|
75
|
-
router: provider.router
|
|
82
|
+
router: provider.router,
|
|
83
|
+
fallback: provider.fallback
|
|
76
84
|
},
|
|
77
85
|
router: provider.router
|
|
78
86
|
}));
|
package/dist/src/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/bitswap",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.7",
|
|
4
4
|
"description": "JavaScript implementation of the Bitswap data exchange protocol used by Helia",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/bitswap#readme",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"docs": "aegir docs"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@helia/interface": "^7.1.
|
|
56
|
-
"@helia/libp2p": "^1.0.
|
|
57
|
-
"@helia/utils": "^3.0.
|
|
55
|
+
"@helia/interface": "^7.1.1",
|
|
56
|
+
"@helia/libp2p": "^1.0.7",
|
|
57
|
+
"@helia/utils": "^3.0.5",
|
|
58
58
|
"@libp2p/interface": "^3.2.3",
|
|
59
59
|
"@libp2p/logger": "^6.2.8",
|
|
60
60
|
"@libp2p/peer-collections": "^7.0.21",
|
package/src/session.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NoEvictionError } from '@helia/interface'
|
|
1
2
|
import { AbstractSession, isCID } from '@helia/utils'
|
|
2
3
|
import { peerIdFromCID } from '@libp2p/peer-id'
|
|
3
4
|
import { CID } from 'multiformats/cid'
|
|
@@ -20,6 +21,7 @@ interface ProviderPeer {
|
|
|
20
21
|
peerId: CID
|
|
21
22
|
router: string
|
|
22
23
|
toString(): string
|
|
24
|
+
fallback: boolean
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
class BitswapSession extends AbstractSession<ProviderPeer, BitswapWantProgressEvents> {
|
|
@@ -40,6 +42,10 @@ class BitswapSession extends AbstractSession<ProviderPeer, BitswapWantProgressEv
|
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
async queryProvider (cid: CID, provider: ProviderPeer, options: AbortOptions): Promise<Uint8Array> {
|
|
45
|
+
if (options.signal?.aborted === true) {
|
|
46
|
+
throw new NoEvictionError(`Signal to want session block for CID ${cid} from peer ${provider} was aborted prior to want`)
|
|
47
|
+
}
|
|
48
|
+
|
|
43
49
|
const peerId = peerIdFromCID(provider.peerId)
|
|
44
50
|
|
|
45
51
|
this.log('sending WANT-BLOCK for %c to %p', cid, peerId)
|
|
@@ -64,7 +70,8 @@ class BitswapSession extends AbstractSession<ProviderPeer, BitswapWantProgressEv
|
|
|
64
70
|
yield {
|
|
65
71
|
peerId: provider.id,
|
|
66
72
|
router: provider.router,
|
|
67
|
-
toString: () => `Bitswap(${provider.id})
|
|
73
|
+
toString: () => `Bitswap(${provider.id})`,
|
|
74
|
+
fallback: provider.fallback
|
|
68
75
|
}
|
|
69
76
|
}
|
|
70
77
|
}
|
|
@@ -82,7 +89,8 @@ class BitswapSession extends AbstractSession<ProviderPeer, BitswapWantProgressEv
|
|
|
82
89
|
return {
|
|
83
90
|
peerId: provider,
|
|
84
91
|
router,
|
|
85
|
-
toString: () => `Bitswap(${provider})
|
|
92
|
+
toString: () => `Bitswap(${provider})`,
|
|
93
|
+
fallback: false
|
|
86
94
|
}
|
|
87
95
|
}
|
|
88
96
|
|
|
@@ -96,7 +104,8 @@ class BitswapSession extends AbstractSession<ProviderPeer, BitswapWantProgressEv
|
|
|
96
104
|
return {
|
|
97
105
|
peerId: connection.remotePeer.toCID(),
|
|
98
106
|
router,
|
|
99
|
-
toString: () => `Bitswap(${connection.remotePeer})
|
|
107
|
+
toString: () => `Bitswap(${connection.remotePeer})`,
|
|
108
|
+
fallback: false
|
|
100
109
|
}
|
|
101
110
|
} catch {}
|
|
102
111
|
}
|
|
@@ -108,7 +117,8 @@ class BitswapSession extends AbstractSession<ProviderPeer, BitswapWantProgressEv
|
|
|
108
117
|
provider: {
|
|
109
118
|
id: provider.peerId,
|
|
110
119
|
multiaddrs: [],
|
|
111
|
-
router: provider.router
|
|
120
|
+
router: provider.router,
|
|
121
|
+
fallback: provider.fallback
|
|
112
122
|
},
|
|
113
123
|
router: provider.router
|
|
114
124
|
}))
|