@peerbit/blocks 4.2.13 → 4.2.14
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/src/any-blockstore.d.ts +1 -0
- package/dist/src/any-blockstore.d.ts.map +1 -1
- package/dist/src/any-blockstore.js +3 -0
- package/dist/src/any-blockstore.js.map +1 -1
- package/dist/src/libp2p.d.ts +1 -0
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +1 -0
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/remote.d.ts +24 -0
- package/dist/src/remote.d.ts.map +1 -1
- package/dist/src/remote.js +108 -26
- package/dist/src/remote.js.map +1 -1
- package/package.json +7 -7
- package/src/any-blockstore.ts +4 -0
- package/src/libp2p.ts +2 -0
- package/src/remote.ts +140 -33
|
@@ -42,6 +42,7 @@ export declare class AnyBlockStore implements Blocks {
|
|
|
42
42
|
waitFor(peer: PeerRefs, options?: WaitForPresentOpts | WaitForAnyOpts): Promise<string[]>;
|
|
43
43
|
size(): Promise<number>;
|
|
44
44
|
persisted(): boolean | Promise<boolean>;
|
|
45
|
+
get crashSafeDurability(): import("@peerbit/any-store-interface").CrashSafeDurability;
|
|
45
46
|
}
|
|
46
47
|
export {};
|
|
47
48
|
//# sourceMappingURL=any-blockstore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any-blockstore.d.ts","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACN,KAAK,MAAM,EACX,KAAK,UAAU,EAKf,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACX,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,KAAK,EAAU,MAAM,oBAAoB,CAAC;AAkBxD,KAAK,eAAe,GAAG,UAAU,GAAG;IACnC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,qBAAa,aAAc,YAAW,MAAM;IAC3C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAkB;gBAC/B,KAAK,GAAE,QAAwB;IAI3C,4BAA4B,IAAI,OAAO;IAKvC,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;YAM9C,iBAAiB;IAqBzB,GAAG,CACR,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAkB5B,OAAO,CACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IA2BnC,GAAG,CACR,KAAK,EAAE,UAAU,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GACnE,OAAO,CAAC,MAAM,CAAC;IAmBZ,OAAO,CACZ,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAC3E,OAAO,CAAC,MAAM,EAAE,CAAC;IAkCpB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;IAiBlE,YAAY,CACX,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,GACtD,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE;YAiBjB,0BAA0B;YA8B1B,mBAAmB;YAOnB,sBAAsB;IAU9B,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtC,QAAQ,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAM7D,GAAG,CAAC,GAAG,EAAE,MAAM;IAcf,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAkB3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,MAAM;IAGA,OAAO,CACZ,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAC3C,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,IAAI;IAIV,SAAS,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"any-blockstore.d.ts","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACN,KAAK,MAAM,EACX,KAAK,UAAU,EAKf,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACX,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,KAAK,EAAU,MAAM,oBAAoB,CAAC;AAkBxD,KAAK,eAAe,GAAG,UAAU,GAAG;IACnC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,qBAAa,aAAc,YAAW,MAAM;IAC3C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAkB;gBAC/B,KAAK,GAAE,QAAwB;IAI3C,4BAA4B,IAAI,OAAO;IAKvC,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;YAM9C,iBAAiB;IAqBzB,GAAG,CACR,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAkB5B,OAAO,CACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IA2BnC,GAAG,CACR,KAAK,EAAE,UAAU,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GACnE,OAAO,CAAC,MAAM,CAAC;IAmBZ,OAAO,CACZ,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAC3E,OAAO,CAAC,MAAM,EAAE,CAAC;IAkCpB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;IAiBlE,YAAY,CACX,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,GACtD,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE;YAiBjB,0BAA0B;YA8B1B,mBAAmB;YAOnB,sBAAsB;IAU9B,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtC,QAAQ,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAM7D,GAAG,CAAC,GAAG,EAAE,MAAM;IAcf,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAkB3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,MAAM;IAGA,OAAO,CACZ,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAC3C,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,IAAI;IAIV,SAAS,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvC,IAAI,mBAAmB,+DAEtB;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any-blockstore.js","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAGN,eAAe,EACf,YAAY,EACZ,UAAU,EACV,aAAa,GACb,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAc,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAE/C,MAAM,aAAa,GAAG,CAAI,KAAqB,EAAuB,EAAE,CACvE,OAAQ,KAA4B,EAAE,IAAI,KAAK,UAAU,CAAC;AAoB3D,MAAM,OAAO,aAAa;IACjB,MAAM,CAAW;IACjB,QAAQ,CAAe;IACvB,QAAQ,CAA0B;IAClC,gBAAgB,CAAmB;IAC3C,YAAY,QAAkB,WAAW,EAAE;QAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,4BAA4B;QAC3B,OAAQ,IAAI,CAAC,MAAqC;aAChD,4BAA4B,EAAE,EAAE,CAAC;IACpC,CAAC;IAED,uBAAuB,CAAC,GAAW;QAClC,OAAQ,IAAI,CAAC,MAAqC,CAAC,uBAAuB,EAAE,CAC3E,GAAG,CACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC9B,GAAW,EACX,KAAiB,EACjB,OAAyB;QAEzB,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,IACC,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI;YAC3B,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,EAC5D,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,IAA+B,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;YAC1B,KAAK;YACL,KAAK;YACL,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,aAAa;SACxC,CAAC,CAAC;QACH,OAAQ,KAA0C,CAAC,KAAK,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,GAAG,CACR,GAAW,EACX,OAAyB;QAEzB,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IACC,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ;gBAC/B,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAC7C,CAAC;gBACF,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,IAAc,EACd,OAAyB;QAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAElB,CAAC;QACF,IAAI,CAAC;YACJ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzC,OAAO,OAAO,CAAC,GAAG,CACjB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC3B,KAAK;oBACJ,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAE,EAAE,KAAK,EAAE,OAAO,CAAC;oBACtD,CAAC,CAAC,SAAS,CACZ,CACD,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IACC,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ;gBAC/B,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAC7C,CAAC;gBACF,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,KAAK,CAAC,GAAG,CACR,KAAqE;QAErE,MAAM,GAAG,GACR,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,kEAAkE;gBAClE,sEAAsE;gBACtE,iEAAiE;gBACjE,qBAAqB;gBACrB,OAAO,GAAG,CAAC,GAAG,CAAC;YAChB,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,MAA6E;QAE7E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5D,CACD,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAIlB,CAAC;QACF,IAAI,CAAC;YACJ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,MAAM,MAAM,CAAC;gBACd,CAAC;YACF,CAAC;iBAAM,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAU,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACP,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjD,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAiB;QACtC,IAAI,CAAC;YACJ,MAAM,cAAc,GAAG,IAAI,CAAC,MAA6B,CAAC;YAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY;gBACzC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC;gBACzC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/B,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,OAAO,MAAM;qBACX,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;qBACf,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,YAAY,CACX,MAAwD;QAExD,MAAM,KAAK,GAAG,IAAI,CAAC,MAOlB,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACvC,MAAwD,EACxD,KAOC;QAED,IAAI,CAAC;YACJ,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBAClD,MAAM,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACP,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAI,KAAU,EAAE,KAAQ;QACxD,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,KAAU;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,CACN,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ;YAC/B,KAAK,CAAC,IAAI,KAAK,yBAAyB;YACxC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI;YAC9C,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,CAAC,CAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,GAAW;QACnB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAc;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAElB,CAAC;QACF,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ;QACd,IAAI,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACzD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACpB,IAAI,CAAC;YACJ,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IACC,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ;gBAC/B,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAC7C,CAAC;gBACF,OAAO,KAAK,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAc;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAKlB,CAAC;QACF,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK;QACV,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAE9C,IAAI,CAAC;YACJ,IAAI,CAAC,QAAQ,GAAG,OAAO,CACtB,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,EACnD;gBACC,aAAa,EAAE,GAAG;gBAClB,OAAO,EAAE,EAAE,GAAG,IAAI;gBAClB,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM;aACpC,CACD,CAAC;YACF,MAAM,IAAI,CAAC,QAAQ,CAAC;QACrB,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,OAAO,CACZ,IAAc,EACd,OAA6C;QAE7C,mDAAmD;QACnD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,IAAI;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"any-blockstore.js","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"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"}
|
package/dist/src/libp2p.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare class DirectBlock extends DirectStream implements IBlocks {
|
|
|
27
27
|
close: () => void;
|
|
28
28
|
} | (() => void);
|
|
29
29
|
onPut?: (cid: string) => Promise<void> | void;
|
|
30
|
+
onPutMany?: (cids: string[]) => Promise<void> | void;
|
|
30
31
|
providerCache?: boolean | {
|
|
31
32
|
maxEntries?: number;
|
|
32
33
|
ttlMs?: number;
|
package/dist/src/libp2p.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACN,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE3D,qBAAa,WAAY,SAAQ,YAAa,YAAW,OAAO;IAC/D,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,iBAAiB,CAAM;gBAG9B,UAAU,EAAE,qBAAqB,EACjC,OAAO,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,4BAA4B,CAAC,EAAE,MAAM,CAAC;QACtC,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC,gBAAgB,CAAC,EAAE,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,WAAW,CAAC;YAAC,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,KACjD,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;QAC1D,cAAc,CAAC,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;YACR,MAAM,CAAC,EAAE,WAAW,CAAC;YACrB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;SAC3C,KACG,IAAI,GAAG;YAAE,KAAK,EAAE,MAAM,IAAI,CAAA;SAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QACjD,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC9C,aAAa,CAAC,EACX,OAAO,GACP;YACA,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;QACL,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B;;;;;;WAMG;QACH,QAAQ,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC;KAClC;
|
|
1
|
+
{"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"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"}
|
package/dist/src/libp2p.js
CHANGED
|
@@ -81,6 +81,7 @@ export class DirectBlock extends DirectStream {
|
|
|
81
81
|
resolveProviders: options?.resolveProviders ?? defaultResolveProviders,
|
|
82
82
|
watchProviders: options?.watchProviders,
|
|
83
83
|
onPut: options?.onPut,
|
|
84
|
+
onPutMany: options?.onPutMany,
|
|
84
85
|
providerCache: options?.providerCache,
|
|
85
86
|
requeryOnReachable: options?.requeryOnReachable,
|
|
86
87
|
rust: blockExchange
|
package/dist/src/libp2p.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p.js","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,sBAAsB,EAAsB,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAGN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,6BAA6B,GAG7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAItF,MAAM,OAAO,WAAY,SAAQ,YAAY;IACpC,YAAY,CAAe;IAC3B,QAAQ,CAAM;IACd,iBAAiB,CAAM;IAE/B,YACC,UAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"libp2p.js","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"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"}
|
package/dist/src/remote.d.ts
CHANGED
|
@@ -83,6 +83,15 @@ export declare class RemoteBlocks implements IBlocks {
|
|
|
83
83
|
* this transport to a specific directory implementation.
|
|
84
84
|
*/
|
|
85
85
|
onPut?: (cid: string) => Promise<void> | void;
|
|
86
|
+
/**
|
|
87
|
+
* Optional aggregate hook called after a multi-block store (best-effort).
|
|
88
|
+
*
|
|
89
|
+
* When present, this replaces the per-CID `onPut` calls for batches. The
|
|
90
|
+
* callback must therefore make every supplied CID discoverable through an
|
|
91
|
+
* equivalent aggregate mechanism. Without it, `onPut` is invoked and
|
|
92
|
+
* awaited once for every CID with bounded concurrency.
|
|
93
|
+
*/
|
|
94
|
+
onPutMany?: (cids: string[]) => Promise<void> | void;
|
|
86
95
|
/**
|
|
87
96
|
* Cache of learned/suggested providers per CID to reduce repeated lookups and avoid
|
|
88
97
|
* expensive "search" behaviors.
|
|
@@ -138,6 +147,8 @@ export declare class RemoteBlocks implements IBlocks {
|
|
|
138
147
|
private _readFromPeersPromises;
|
|
139
148
|
private _deferredStoredNotificationCids?;
|
|
140
149
|
private _deferredStoredNotificationTimer?;
|
|
150
|
+
private _deferredStoredNotificationDrain?;
|
|
151
|
+
private _storedNotificationTasks;
|
|
141
152
|
_open: boolean;
|
|
142
153
|
private _events;
|
|
143
154
|
private closeController;
|
|
@@ -181,6 +192,15 @@ export declare class RemoteBlocks implements IBlocks {
|
|
|
181
192
|
* this transport to a specific directory implementation.
|
|
182
193
|
*/
|
|
183
194
|
onPut?: (cid: string) => Promise<void> | void;
|
|
195
|
+
/**
|
|
196
|
+
* Optional aggregate hook called after a multi-block store (best-effort).
|
|
197
|
+
*
|
|
198
|
+
* When present, this replaces the per-CID `onPut` calls for batches. The
|
|
199
|
+
* callback must therefore make every supplied CID discoverable through an
|
|
200
|
+
* equivalent aggregate mechanism. Without it, `onPut` is invoked and
|
|
201
|
+
* awaited once for every CID with bounded concurrency.
|
|
202
|
+
*/
|
|
203
|
+
onPutMany?: (cids: string[]) => Promise<void> | void;
|
|
184
204
|
/**
|
|
185
205
|
* Cache of learned/suggested providers per CID to reduce repeated lookups and avoid
|
|
186
206
|
* expensive "search" behaviors.
|
|
@@ -240,9 +260,12 @@ export declare class RemoteBlocks implements IBlocks {
|
|
|
240
260
|
notifyStoredMany(cids: string[]): Promise<void> | void;
|
|
241
261
|
notifyStoredDeferred(cid: string): void;
|
|
242
262
|
notifyStoredManyDeferred(cids: string[]): void;
|
|
263
|
+
private scheduleDeferredStoredNotifications;
|
|
243
264
|
private flushDeferredStoredNotifications;
|
|
244
265
|
private notifyPut;
|
|
245
266
|
private notifyPuts;
|
|
267
|
+
private trackStoredNotificationTask;
|
|
268
|
+
private drainStoredNotificationTasks;
|
|
246
269
|
has(cid: string): Promise<boolean>;
|
|
247
270
|
hasMany(cids: string[]): Promise<boolean[]>;
|
|
248
271
|
get(cid: string, options?: GetOptions | undefined): Promise<Uint8Array | undefined>;
|
|
@@ -262,6 +285,7 @@ export declare class RemoteBlocks implements IBlocks {
|
|
|
262
285
|
size(): Promise<number>;
|
|
263
286
|
get status(): import("./interface.js").StoreStatus;
|
|
264
287
|
persisted(): boolean | Promise<boolean>;
|
|
288
|
+
get crashSafeDurability(): import("@peerbit/blocks-interface").CrashSafeBlockDurability;
|
|
265
289
|
}
|
|
266
290
|
export {};
|
|
267
291
|
//# sourceMappingURL=remote.d.ts.map
|
package/dist/src/remote.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,UAAU,EACf,KAAK,MAAM,IAAI,OAAO,EAOtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAGtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGN,KAAK,QAAQ,EACb,KAAK,uBAAuB,EAE5B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAGN,KAAK,kBAAkB,EAEvB,KAAK,4BAA4B,EAEjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,MAAM,oCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,UAAU,EACf,KAAK,MAAM,IAAI,OAAO,EAOtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAGtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGN,KAAK,QAAQ,EACb,KAAK,uBAAuB,EAE5B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAGN,KAAK,kBAAkB,EAEvB,KAAK,4BAA4B,EAEjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,MAAM,oCAAuC,CAAC;AAO3D,qBAAa,YAAY;CAAG;AAE5B,qBACa,YAAa,SAAQ,YAAY;IAE7C,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;CAIvB;AAED,qBACa,aAAc,SAAQ,YAAY;IAE9C,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,UAAU,CAAC;gBAEN,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;CAK1C;AAED,KAAK,mBAAmB,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACpC,CAAC;AAYF,MAAM,MAAM,wBAAwB,GAAG;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAaF,qBAAa,YAAa,YAAW,OAAO;IAyE1C,QAAQ,CAAC,OAAO,EAAE;QACjB,KAAK,EAAE,UAAU,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,4BAA4B,CAAC,EAAE,MAAM,CAAC;QACtC,SAAS,EAAE,aAAa,CAAC;QACzB,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC;;;;;;WAMG;QACH,gBAAgB,CAAC,EAAE,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;YACT,MAAM,CAAC,EAAE,WAAW,CAAC;YACrB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,qFAAqF;YACrF,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;SAC5B,KACG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;QAC1D;;;;;;;WAOG;QACH,cAAc,CAAC,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;YACR,MAAM,CAAC,EAAE,WAAW,CAAC;YACrB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;SAC3C,KACG,IAAI,GAAG;YAAE,KAAK,EAAE,MAAM,IAAI,CAAA;SAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QACjD;;;;;WAKG;QACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC9C;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACrD;;;WAGG;QACH,aAAa,CAAC,EACX,OAAO,GACP;YACA,wCAAwC;YACxC,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,iCAAiC;YACjC,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,0CAA0C;YAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;QACL;;;WAGG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,EAAE,CACR,IAAI,EAAE,YAAY,GAAG,aAAa,EAClC,OAAO,EAAE,cAAc,KACnB,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;QAC5C,OAAO,EAAE,cAAc,CAAC;QACxB;;;;;;WAMG;QACH,IAAI,CAAC,EAAE;YACN,QAAQ,EAAE,iBAAiB,CAAC;YAC5B,UAAU,CAAC,EAAE,CACZ,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,cAAc,KACnB,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;SAC5C,CAAC;KACF;IAnKF,UAAU,EAAE,UAAU,CAAC;IAKvB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAGxE,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAGlD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,2BAA2B,CAAC,EAAE,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAC5B,cAAc,CAAC,EAAE,OAAO,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,gCAAgC,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IAGrE,uBAAuB,CAAC,EAAE,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,YAAY,CAAC,EAAE,OAAO,KAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAE5C,OAAO,CAAC,gBAAgB,CAAC,CAGhB;IACT,OAAO,CAAC,UAAU,CAGhB;IACF,OAAO,CAAC,WAAW,CAAC,CAAkB;IACtC,OAAO,CAAC,mBAAmB,CAAC,CAA+B;IAC3D,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,eAAe,CAarB;IACF,OAAO,CAAC,cAAc,CAAC,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAAC,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAE/C,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,+BAA+B,CAAC,CAAc;IACtD,OAAO,CAAC,gCAAgC,CAAC,CAAgC;IACzE,OAAO,CAAC,gCAAgC,CAAC,CAAgB;IACzD,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,KAAK,UAAS;IACd,OAAO,CAAC,OAAO,CAGc;IAC7B,OAAO,CAAC,eAAe,CAA0C;gBAGvD,OAAO,EAAE;QACjB,KAAK,EAAE,UAAU,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,4BAA4B,CAAC,EAAE,MAAM,CAAC;QACtC,SAAS,EAAE,aAAa,CAAC;QACzB,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC;;;;;;WAMG;QACH,gBAAgB,CAAC,EAAE,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;YACT,MAAM,CAAC,EAAE,WAAW,CAAC;YACrB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,qFAAqF;YACrF,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;SAC5B,KACG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;QAC1D;;;;;;;WAOG;QACH,cAAc,CAAC,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;YACR,MAAM,CAAC,EAAE,WAAW,CAAC;YACrB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;SAC3C,KACG,IAAI,GAAG;YAAE,KAAK,EAAE,MAAM,IAAI,CAAA;SAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QACjD;;;;;WAKG;QACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC9C;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACrD;;;WAGG;QACH,aAAa,CAAC,EACX,OAAO,GACP;YACA,wCAAwC;YACxC,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,iCAAiC;YACjC,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,0CAA0C;YAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;QACL;;;WAGG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,EAAE,CACR,IAAI,EAAE,YAAY,GAAG,aAAa,EAClC,OAAO,EAAE,cAAc,KACnB,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;QAC5C,OAAO,EAAE,cAAc,CAAC;QACxB;;;;;;WAMG;QACH,IAAI,CAAC,EAAE;YACN,QAAQ,EAAE,iBAAiB,CAAC;YAC5B,UAAU,CAAC,EAAE,CACZ,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,cAAc,KACnB,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;SAC5C,CAAC;KACF;IAiNF,4BAA4B,IAAI,OAAO;IAIvC,wEAAwE;IACxE,2BAA2B,IAAI,wBAAwB,GAAG,SAAS;IASnE,gEAAgE;IAChE,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C,OAAO,CAAC,eAAe;IA6IvB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,gBAAgB;YAoBV,sBAAsB;IA8C9B,GAAG,CACR,KAAK,EAAE,UAAU,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GACnE,OAAO,CAAC,MAAM,CAAC;IASZ,OAAO,CACZ,MAAM,EAAE,KAAK,CACZ,UAAU,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAC9D,GACC,OAAO,CAAC,MAAM,EAAE,CAAC;IASd,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IASzD,YAAY,CACjB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,GACtD,OAAO,CAAC,MAAM,EAAE,CAAC;IASpB,mBAAmB,IAAI,OAAO;IAI9B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI/C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAItD,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAmB9C,OAAO,CAAC,mCAAmC;IAkB3C,OAAO,CAAC,gCAAgC;IA2DxC,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,UAAU;IAoClB,OAAO,CAAC,2BAA2B;YASrB,4BAA4B;IAMpC,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI3C,GAAG,CACR,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAC9B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAsB5B,OAAO,CACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAC9B,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAOzC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IAQxC,EAAE,CAAC,GAAG,EAAE,MAAM;IAId,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE;IAIpB,QAAQ,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAM7D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAG3D,WAAW,CAAC,SAAS,EAAE,aAAa;YAMtB,kBAAkB;YAiGlB,cAAc;IAqW5B,OAAO,CAAC,mBAAmB;IAgDrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC3B,OAAO,CACN,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAC3C,OAAO,CAAC,MAAM,EAAE,CAAC;IAId,IAAI;IAIV,IAAI,MAAM,yCAMT;IAED,SAAS,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvC,IAAI,mBAAmB,iEAEtB;CACD"}
|
package/dist/src/remote.js
CHANGED
|
@@ -47,6 +47,9 @@ import PQueue from "p-queue";
|
|
|
47
47
|
import { BoundedEagerBlockCache, MAX_EAGER_BLOCK_CID_LENGTH, normalizeEagerBlocksOptions, } from "./eager-cache.js";
|
|
48
48
|
export const logger = loggerFn("peerbit:transport:blocks");
|
|
49
49
|
const warn = logger.newScope("warn");
|
|
50
|
+
// Keep batch hooks bounded without changing their completion contract: a
|
|
51
|
+
// successful batch put still waits until every onPut callback has settled.
|
|
52
|
+
const STORED_NOTIFICATION_CONCURRENCY = 8;
|
|
50
53
|
export class BlockMessage {
|
|
51
54
|
}
|
|
52
55
|
let BlockRequest = (() => {
|
|
@@ -164,6 +167,8 @@ export class RemoteBlocks {
|
|
|
164
167
|
_readFromPeersPromises;
|
|
165
168
|
_deferredStoredNotificationCids;
|
|
166
169
|
_deferredStoredNotificationTimer;
|
|
170
|
+
_deferredStoredNotificationDrain;
|
|
171
|
+
_storedNotificationTasks = new Set();
|
|
167
172
|
_open = false;
|
|
168
173
|
_events = new TypedEventEmitter();
|
|
169
174
|
closeController = new AbortController();
|
|
@@ -192,10 +197,10 @@ export class RemoteBlocks {
|
|
|
192
197
|
const stored = localPutKnownManyColumns.call(this.localStore, cids, bytes);
|
|
193
198
|
const durableBarrier = this.waitForDurableWrites?.();
|
|
194
199
|
if (durableBarrier && typeof durableBarrier.then === "function") {
|
|
195
|
-
|
|
200
|
+
this.trackStoredNotificationTask(Promise.resolve(durableBarrier).then(() => this.notifyPuts(stored), () => undefined));
|
|
196
201
|
}
|
|
197
202
|
else {
|
|
198
|
-
|
|
203
|
+
this.trackStoredNotificationTask(this.notifyPuts(stored));
|
|
199
204
|
}
|
|
200
205
|
return stored;
|
|
201
206
|
};
|
|
@@ -586,7 +591,7 @@ export class RemoteBlocks {
|
|
|
586
591
|
return cids;
|
|
587
592
|
}
|
|
588
593
|
hasNotifyStoredHook() {
|
|
589
|
-
return !!this.options.onPut;
|
|
594
|
+
return !!(this.options.onPut || this.options.onPutMany);
|
|
590
595
|
}
|
|
591
596
|
notifyStored(cid) {
|
|
592
597
|
return this.notifyPut(cid);
|
|
@@ -598,7 +603,9 @@ export class RemoteBlocks {
|
|
|
598
603
|
this.notifyStoredManyDeferred([cid]);
|
|
599
604
|
}
|
|
600
605
|
notifyStoredManyDeferred(cids) {
|
|
601
|
-
if (!this.
|
|
606
|
+
if (!this.hasNotifyStoredHook() ||
|
|
607
|
+
cids.length === 0 ||
|
|
608
|
+
this.closeController.signal.aborted) {
|
|
602
609
|
return;
|
|
603
610
|
}
|
|
604
611
|
let pending = this._deferredStoredNotificationCids;
|
|
@@ -607,11 +614,16 @@ export class RemoteBlocks {
|
|
|
607
614
|
this._deferredStoredNotificationCids = pending;
|
|
608
615
|
}
|
|
609
616
|
for (const cid of cids) {
|
|
610
|
-
if (cid)
|
|
617
|
+
if (cid)
|
|
611
618
|
pending.add(cid);
|
|
612
|
-
}
|
|
613
619
|
}
|
|
614
|
-
|
|
620
|
+
this.scheduleDeferredStoredNotifications();
|
|
621
|
+
}
|
|
622
|
+
scheduleDeferredStoredNotifications() {
|
|
623
|
+
if (this.closeController.signal.aborted ||
|
|
624
|
+
!this._deferredStoredNotificationCids?.size ||
|
|
625
|
+
this._deferredStoredNotificationTimer ||
|
|
626
|
+
this._deferredStoredNotificationDrain) {
|
|
615
627
|
return;
|
|
616
628
|
}
|
|
617
629
|
this._deferredStoredNotificationTimer = setTimeout(() => {
|
|
@@ -623,29 +635,64 @@ export class RemoteBlocks {
|
|
|
623
635
|
}, 0);
|
|
624
636
|
}
|
|
625
637
|
flushDeferredStoredNotifications() {
|
|
638
|
+
if (this._deferredStoredNotificationTimer) {
|
|
639
|
+
clearTimeout(this._deferredStoredNotificationTimer);
|
|
640
|
+
this._deferredStoredNotificationTimer = undefined;
|
|
641
|
+
}
|
|
642
|
+
if (this._deferredStoredNotificationDrain) {
|
|
643
|
+
return this._deferredStoredNotificationDrain.then(() => this.flushDeferredStoredNotifications());
|
|
644
|
+
}
|
|
626
645
|
const pending = this._deferredStoredNotificationCids;
|
|
627
646
|
if (!pending || pending.size === 0) {
|
|
628
647
|
return;
|
|
629
648
|
}
|
|
630
|
-
this.
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
649
|
+
if (this.options.onPutMany && pending.size > 1) {
|
|
650
|
+
// Detach the current batch before awaiting the aggregate hook. New
|
|
651
|
+
// notifications collect in a fresh Set and are scheduled by the drain's
|
|
652
|
+
// finalizer, while this generation retains only one bounded aggregate
|
|
653
|
+
// task instead of one promise/network announcement per CID.
|
|
654
|
+
this._deferredStoredNotificationCids = undefined;
|
|
655
|
+
const cids = [...pending];
|
|
656
|
+
pending.clear();
|
|
657
|
+
const drain = Promise.resolve(this.notifyPuts(cids));
|
|
658
|
+
const trackedDrain = drain.finally(() => {
|
|
659
|
+
if (this._deferredStoredNotificationDrain === trackedDrain) {
|
|
660
|
+
this._deferredStoredNotificationDrain = undefined;
|
|
637
661
|
}
|
|
662
|
+
this.scheduleDeferredStoredNotifications();
|
|
663
|
+
});
|
|
664
|
+
this._deferredStoredNotificationDrain = trackedDrain;
|
|
665
|
+
return trackedDrain;
|
|
666
|
+
}
|
|
667
|
+
const worker = async () => {
|
|
668
|
+
for (;;) {
|
|
669
|
+
const next = pending.values().next();
|
|
670
|
+
if (next.done)
|
|
671
|
+
return;
|
|
672
|
+
pending.delete(next.value);
|
|
673
|
+
await this.notifyStored(next.value);
|
|
638
674
|
}
|
|
639
|
-
|
|
640
|
-
|
|
675
|
+
};
|
|
676
|
+
const workerCount = Math.min(STORED_NOTIFICATION_CONCURRENCY, pending.size);
|
|
677
|
+
const drain = Promise.all(Array.from({ length: workerCount }, () => worker())).then(() => undefined);
|
|
678
|
+
const trackedDrain = drain.finally(() => {
|
|
679
|
+
if (this._deferredStoredNotificationDrain === trackedDrain) {
|
|
680
|
+
this._deferredStoredNotificationDrain = undefined;
|
|
641
681
|
}
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
682
|
+
if (pending.size === 0) {
|
|
683
|
+
this._deferredStoredNotificationCids = undefined;
|
|
684
|
+
return;
|
|
685
|
+
}
|
|
686
|
+
this.scheduleDeferredStoredNotifications();
|
|
687
|
+
});
|
|
688
|
+
this._deferredStoredNotificationDrain = trackedDrain;
|
|
689
|
+
return trackedDrain;
|
|
646
690
|
}
|
|
647
691
|
notifyPut(cid) {
|
|
648
|
-
const onPut = this.options.onPut
|
|
692
|
+
const onPut = this.options.onPut ??
|
|
693
|
+
(this.options.onPutMany
|
|
694
|
+
? (storedCid) => this.options.onPutMany([storedCid])
|
|
695
|
+
: undefined);
|
|
649
696
|
if (!onPut) {
|
|
650
697
|
return;
|
|
651
698
|
}
|
|
@@ -660,21 +707,51 @@ export class RemoteBlocks {
|
|
|
660
707
|
}
|
|
661
708
|
}
|
|
662
709
|
notifyPuts(cids) {
|
|
663
|
-
|
|
664
|
-
if (!onPut || cids.length === 0) {
|
|
710
|
+
if (cids.length === 0) {
|
|
665
711
|
return;
|
|
666
712
|
}
|
|
667
713
|
if (cids.length === 1) {
|
|
668
714
|
return this.notifyPut(cids[0]);
|
|
669
715
|
}
|
|
670
|
-
|
|
716
|
+
const onPutMany = this.options.onPutMany;
|
|
717
|
+
if (onPutMany) {
|
|
671
718
|
try {
|
|
672
|
-
|
|
719
|
+
const result = onPutMany(cids);
|
|
720
|
+
if (result && typeof result.then === "function") {
|
|
721
|
+
return result.catch(() => undefined);
|
|
722
|
+
}
|
|
673
723
|
}
|
|
674
724
|
catch {
|
|
675
725
|
// ignore best-effort hooks
|
|
676
726
|
}
|
|
677
|
-
|
|
727
|
+
return;
|
|
728
|
+
}
|
|
729
|
+
if (!this.options.onPut)
|
|
730
|
+
return;
|
|
731
|
+
let nextIndex = 0;
|
|
732
|
+
const worker = async () => {
|
|
733
|
+
for (;;) {
|
|
734
|
+
const index = nextIndex++;
|
|
735
|
+
if (index >= cids.length)
|
|
736
|
+
return;
|
|
737
|
+
await this.notifyPut(cids[index]);
|
|
738
|
+
}
|
|
739
|
+
};
|
|
740
|
+
return Promise.all(Array.from({ length: Math.min(STORED_NOTIFICATION_CONCURRENCY, cids.length) }, () => worker())).then(() => undefined);
|
|
741
|
+
}
|
|
742
|
+
trackStoredNotificationTask(task) {
|
|
743
|
+
if (!task || typeof task.then !== "function")
|
|
744
|
+
return;
|
|
745
|
+
const tracked = Promise.resolve(task).catch(() => undefined);
|
|
746
|
+
this._storedNotificationTasks.add(tracked);
|
|
747
|
+
tracked
|
|
748
|
+
.finally(() => this._storedNotificationTasks.delete(tracked))
|
|
749
|
+
.catch(() => undefined);
|
|
750
|
+
}
|
|
751
|
+
async drainStoredNotificationTasks() {
|
|
752
|
+
while (this._storedNotificationTasks.size > 0) {
|
|
753
|
+
await Promise.all([...this._storedNotificationTasks]);
|
|
754
|
+
}
|
|
678
755
|
}
|
|
679
756
|
async has(cid) {
|
|
680
757
|
return this.localStore.has(cid);
|
|
@@ -726,6 +803,7 @@ export class RemoteBlocks {
|
|
|
726
803
|
async start() {
|
|
727
804
|
this._events = new TypedEventEmitter();
|
|
728
805
|
this.closeController = new AbortController();
|
|
806
|
+
this._storedNotificationTasks = new Set();
|
|
729
807
|
await this.localStore?.start();
|
|
730
808
|
this._open = true;
|
|
731
809
|
}
|
|
@@ -1202,6 +1280,7 @@ export class RemoteBlocks {
|
|
|
1202
1280
|
this._deferredStoredNotificationTimer = undefined;
|
|
1203
1281
|
}
|
|
1204
1282
|
await capture(() => this.flushDeferredStoredNotifications());
|
|
1283
|
+
await capture(() => this.drainStoredNotificationTasks());
|
|
1205
1284
|
// Queued wrappers observe the aborted generation and drain without starting
|
|
1206
1285
|
// new work. Avoid PQueue.clear(): it would strand promises already returned
|
|
1207
1286
|
// by the nested background-admission queue.
|
|
@@ -1237,5 +1316,8 @@ export class RemoteBlocks {
|
|
|
1237
1316
|
persisted() {
|
|
1238
1317
|
return this.localStore?.persisted() || false;
|
|
1239
1318
|
}
|
|
1319
|
+
get crashSafeDurability() {
|
|
1320
|
+
return this.localStore?.crashSafeDurability;
|
|
1321
|
+
}
|
|
1240
1322
|
}
|
|
1241
1323
|
//# sourceMappingURL=remote.js.map
|
package/dist/src/remote.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/blocks",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.14",
|
|
4
4
|
"description": "Block store streaming",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
},
|
|
68
68
|
"homepage": "https://github.com/dao-xyz/peerbit#readme",
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"@peerbit/any-store-rust": "0.1.
|
|
70
|
+
"@peerbit/any-store-rust": "0.1.6",
|
|
71
71
|
"@peerbit/libp2p-test-utils": "3.0.10"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
@@ -80,15 +80,15 @@
|
|
|
80
80
|
"p-defer": "^4.0.0",
|
|
81
81
|
"p-queue": "^8.0.1",
|
|
82
82
|
"uint8arrays": "^5.1.0",
|
|
83
|
-
"@peerbit/any-store": "2.2.
|
|
84
|
-
"@peerbit/
|
|
85
|
-
"@peerbit/blocks-interface": "2.1.6",
|
|
83
|
+
"@peerbit/any-store": "2.2.16",
|
|
84
|
+
"@peerbit/blocks-interface": "2.1.7",
|
|
86
85
|
"@peerbit/cache": "3.1.1",
|
|
86
|
+
"@peerbit/any-store-interface": "1.1.3",
|
|
87
87
|
"@peerbit/crypto": "3.1.6",
|
|
88
|
+
"@peerbit/logger": "2.0.2",
|
|
88
89
|
"@peerbit/stream": "5.2.1",
|
|
89
|
-
"@peerbit/stream-interface": "6.0.16",
|
|
90
90
|
"@peerbit/time": "3.0.1",
|
|
91
|
-
"@peerbit/
|
|
91
|
+
"@peerbit/stream-interface": "6.0.16"
|
|
92
92
|
},
|
|
93
93
|
"scripts": {
|
|
94
94
|
"clean": "aegir clean",
|
package/src/any-blockstore.ts
CHANGED
package/src/libp2p.ts
CHANGED
|
@@ -46,6 +46,7 @@ export class DirectBlock extends DirectStream implements IBlocks {
|
|
|
46
46
|
},
|
|
47
47
|
) => void | { close: () => void } | (() => void);
|
|
48
48
|
onPut?: (cid: string) => Promise<void> | void;
|
|
49
|
+
onPutMany?: (cids: string[]) => Promise<void> | void;
|
|
49
50
|
providerCache?:
|
|
50
51
|
| boolean
|
|
51
52
|
| {
|
|
@@ -141,6 +142,7 @@ export class DirectBlock extends DirectStream implements IBlocks {
|
|
|
141
142
|
resolveProviders: options?.resolveProviders ?? defaultResolveProviders,
|
|
142
143
|
watchProviders: options?.watchProviders,
|
|
143
144
|
onPut: options?.onPut,
|
|
145
|
+
onPutMany: options?.onPutMany,
|
|
144
146
|
providerCache: options?.providerCache,
|
|
145
147
|
requeryOnReachable: options?.requeryOnReachable,
|
|
146
148
|
rust: blockExchange
|
package/src/remote.ts
CHANGED
|
@@ -46,6 +46,10 @@ import type { BlockStore } from "./interface.js";
|
|
|
46
46
|
export const logger = loggerFn("peerbit:transport:blocks");
|
|
47
47
|
const warn = logger.newScope("warn");
|
|
48
48
|
|
|
49
|
+
// Keep batch hooks bounded without changing their completion contract: a
|
|
50
|
+
// successful batch put still waits until every onPut callback has settled.
|
|
51
|
+
const STORED_NOTIFICATION_CONCURRENCY = 8;
|
|
52
|
+
|
|
49
53
|
export class BlockMessage {}
|
|
50
54
|
|
|
51
55
|
@variant(0)
|
|
@@ -185,6 +189,8 @@ export class RemoteBlocks implements IBlocks {
|
|
|
185
189
|
private _readFromPeersPromises: Map<string, InFlightRead>;
|
|
186
190
|
private _deferredStoredNotificationCids?: Set<string>;
|
|
187
191
|
private _deferredStoredNotificationTimer?: ReturnType<typeof setTimeout>;
|
|
192
|
+
private _deferredStoredNotificationDrain?: Promise<void>;
|
|
193
|
+
private _storedNotificationTasks = new Set<Promise<void>>();
|
|
188
194
|
_open = false;
|
|
189
195
|
private _events: TypedEventEmitter<{
|
|
190
196
|
"peer:reachable": CustomEvent<PublicSignKey>;
|
|
@@ -237,6 +243,15 @@ export class RemoteBlocks implements IBlocks {
|
|
|
237
243
|
* this transport to a specific directory implementation.
|
|
238
244
|
*/
|
|
239
245
|
onPut?: (cid: string) => Promise<void> | void;
|
|
246
|
+
/**
|
|
247
|
+
* Optional aggregate hook called after a multi-block store (best-effort).
|
|
248
|
+
*
|
|
249
|
+
* When present, this replaces the per-CID `onPut` calls for batches. The
|
|
250
|
+
* callback must therefore make every supplied CID discoverable through an
|
|
251
|
+
* equivalent aggregate mechanism. Without it, `onPut` is invoked and
|
|
252
|
+
* awaited once for every CID with bounded concurrency.
|
|
253
|
+
*/
|
|
254
|
+
onPutMany?: (cids: string[]) => Promise<void> | void;
|
|
240
255
|
/**
|
|
241
256
|
* Cache of learned/suggested providers per CID to reduce repeated lookups and avoid
|
|
242
257
|
* expensive "search" behaviors.
|
|
@@ -309,12 +324,14 @@ export class RemoteBlocks implements IBlocks {
|
|
|
309
324
|
);
|
|
310
325
|
const durableBarrier = this.waitForDurableWrites?.();
|
|
311
326
|
if (durableBarrier && typeof durableBarrier.then === "function") {
|
|
312
|
-
|
|
313
|
-
()
|
|
314
|
-
|
|
327
|
+
this.trackStoredNotificationTask(
|
|
328
|
+
Promise.resolve(durableBarrier).then(
|
|
329
|
+
() => this.notifyPuts(stored),
|
|
330
|
+
(): void => undefined,
|
|
331
|
+
),
|
|
315
332
|
);
|
|
316
333
|
} else {
|
|
317
|
-
|
|
334
|
+
this.trackStoredNotificationTask(this.notifyPuts(stored));
|
|
318
335
|
}
|
|
319
336
|
return stored;
|
|
320
337
|
};
|
|
@@ -820,7 +837,7 @@ export class RemoteBlocks implements IBlocks {
|
|
|
820
837
|
}
|
|
821
838
|
|
|
822
839
|
hasNotifyStoredHook(): boolean {
|
|
823
|
-
return !!this.options.onPut;
|
|
840
|
+
return !!(this.options.onPut || this.options.onPutMany);
|
|
824
841
|
}
|
|
825
842
|
|
|
826
843
|
notifyStored(cid: string): Promise<void> | void {
|
|
@@ -836,7 +853,11 @@ export class RemoteBlocks implements IBlocks {
|
|
|
836
853
|
}
|
|
837
854
|
|
|
838
855
|
notifyStoredManyDeferred(cids: string[]): void {
|
|
839
|
-
if (
|
|
856
|
+
if (
|
|
857
|
+
!this.hasNotifyStoredHook() ||
|
|
858
|
+
cids.length === 0 ||
|
|
859
|
+
this.closeController.signal.aborted
|
|
860
|
+
) {
|
|
840
861
|
return;
|
|
841
862
|
}
|
|
842
863
|
let pending = this._deferredStoredNotificationCids;
|
|
@@ -845,11 +866,18 @@ export class RemoteBlocks implements IBlocks {
|
|
|
845
866
|
this._deferredStoredNotificationCids = pending;
|
|
846
867
|
}
|
|
847
868
|
for (const cid of cids) {
|
|
848
|
-
if (cid)
|
|
849
|
-
pending.add(cid);
|
|
850
|
-
}
|
|
869
|
+
if (cid) pending.add(cid);
|
|
851
870
|
}
|
|
852
|
-
|
|
871
|
+
this.scheduleDeferredStoredNotifications();
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
private scheduleDeferredStoredNotifications(): void {
|
|
875
|
+
if (
|
|
876
|
+
this.closeController.signal.aborted ||
|
|
877
|
+
!this._deferredStoredNotificationCids?.size ||
|
|
878
|
+
this._deferredStoredNotificationTimer ||
|
|
879
|
+
this._deferredStoredNotificationDrain
|
|
880
|
+
) {
|
|
853
881
|
return;
|
|
854
882
|
}
|
|
855
883
|
this._deferredStoredNotificationTimer = setTimeout(() => {
|
|
@@ -862,29 +890,70 @@ export class RemoteBlocks implements IBlocks {
|
|
|
862
890
|
}
|
|
863
891
|
|
|
864
892
|
private flushDeferredStoredNotifications(): Promise<void> | void {
|
|
893
|
+
if (this._deferredStoredNotificationTimer) {
|
|
894
|
+
clearTimeout(this._deferredStoredNotificationTimer);
|
|
895
|
+
this._deferredStoredNotificationTimer = undefined;
|
|
896
|
+
}
|
|
897
|
+
if (this._deferredStoredNotificationDrain) {
|
|
898
|
+
return this._deferredStoredNotificationDrain.then(() =>
|
|
899
|
+
this.flushDeferredStoredNotifications(),
|
|
900
|
+
);
|
|
901
|
+
}
|
|
865
902
|
const pending = this._deferredStoredNotificationCids;
|
|
866
903
|
if (!pending || pending.size === 0) {
|
|
867
904
|
return;
|
|
868
905
|
}
|
|
869
|
-
this.
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
906
|
+
if (this.options.onPutMany && pending.size > 1) {
|
|
907
|
+
// Detach the current batch before awaiting the aggregate hook. New
|
|
908
|
+
// notifications collect in a fresh Set and are scheduled by the drain's
|
|
909
|
+
// finalizer, while this generation retains only one bounded aggregate
|
|
910
|
+
// task instead of one promise/network announcement per CID.
|
|
911
|
+
this._deferredStoredNotificationCids = undefined;
|
|
912
|
+
const cids = [...pending];
|
|
913
|
+
pending.clear();
|
|
914
|
+
const drain = Promise.resolve(this.notifyPuts(cids));
|
|
915
|
+
const trackedDrain = drain.finally(() => {
|
|
916
|
+
if (this._deferredStoredNotificationDrain === trackedDrain) {
|
|
917
|
+
this._deferredStoredNotificationDrain = undefined;
|
|
876
918
|
}
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
if (waits.length > 0) {
|
|
882
|
-
return Promise.all(waits).then((): void => undefined);
|
|
919
|
+
this.scheduleDeferredStoredNotifications();
|
|
920
|
+
});
|
|
921
|
+
this._deferredStoredNotificationDrain = trackedDrain;
|
|
922
|
+
return trackedDrain;
|
|
883
923
|
}
|
|
924
|
+
|
|
925
|
+
const worker = async () => {
|
|
926
|
+
for (;;) {
|
|
927
|
+
const next = pending.values().next();
|
|
928
|
+
if (next.done) return;
|
|
929
|
+
pending.delete(next.value);
|
|
930
|
+
await this.notifyStored(next.value);
|
|
931
|
+
}
|
|
932
|
+
};
|
|
933
|
+
const workerCount = Math.min(STORED_NOTIFICATION_CONCURRENCY, pending.size);
|
|
934
|
+
const drain = Promise.all(
|
|
935
|
+
Array.from({ length: workerCount }, () => worker()),
|
|
936
|
+
).then((): void => undefined);
|
|
937
|
+
const trackedDrain = drain.finally(() => {
|
|
938
|
+
if (this._deferredStoredNotificationDrain === trackedDrain) {
|
|
939
|
+
this._deferredStoredNotificationDrain = undefined;
|
|
940
|
+
}
|
|
941
|
+
if (pending.size === 0) {
|
|
942
|
+
this._deferredStoredNotificationCids = undefined;
|
|
943
|
+
return;
|
|
944
|
+
}
|
|
945
|
+
this.scheduleDeferredStoredNotifications();
|
|
946
|
+
});
|
|
947
|
+
this._deferredStoredNotificationDrain = trackedDrain;
|
|
948
|
+
return trackedDrain;
|
|
884
949
|
}
|
|
885
950
|
|
|
886
951
|
private notifyPut(cid: string): Promise<void> | void {
|
|
887
|
-
const onPut =
|
|
952
|
+
const onPut =
|
|
953
|
+
this.options.onPut ??
|
|
954
|
+
(this.options.onPutMany
|
|
955
|
+
? (storedCid: string) => this.options.onPutMany!([storedCid])
|
|
956
|
+
: undefined);
|
|
888
957
|
if (!onPut) {
|
|
889
958
|
return;
|
|
890
959
|
}
|
|
@@ -899,24 +968,56 @@ export class RemoteBlocks implements IBlocks {
|
|
|
899
968
|
}
|
|
900
969
|
|
|
901
970
|
private notifyPuts(cids: string[]): Promise<void> | void {
|
|
902
|
-
|
|
903
|
-
if (!onPut || cids.length === 0) {
|
|
971
|
+
if (cids.length === 0) {
|
|
904
972
|
return;
|
|
905
973
|
}
|
|
906
974
|
if (cids.length === 1) {
|
|
907
975
|
return this.notifyPut(cids[0]!);
|
|
908
976
|
}
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
977
|
+
const onPutMany = this.options.onPutMany;
|
|
978
|
+
if (onPutMany) {
|
|
979
|
+
try {
|
|
980
|
+
const result = onPutMany(cids);
|
|
981
|
+
if (result && typeof result.then === "function") {
|
|
982
|
+
return result.catch((): void => undefined);
|
|
915
983
|
}
|
|
916
|
-
}
|
|
984
|
+
} catch {
|
|
985
|
+
// ignore best-effort hooks
|
|
986
|
+
}
|
|
987
|
+
return;
|
|
988
|
+
}
|
|
989
|
+
if (!this.options.onPut) return;
|
|
990
|
+
let nextIndex = 0;
|
|
991
|
+
const worker = async () => {
|
|
992
|
+
for (;;) {
|
|
993
|
+
const index = nextIndex++;
|
|
994
|
+
if (index >= cids.length) return;
|
|
995
|
+
await this.notifyPut(cids[index]!);
|
|
996
|
+
}
|
|
997
|
+
};
|
|
998
|
+
return Promise.all(
|
|
999
|
+
Array.from(
|
|
1000
|
+
{ length: Math.min(STORED_NOTIFICATION_CONCURRENCY, cids.length) },
|
|
1001
|
+
() => worker(),
|
|
1002
|
+
),
|
|
917
1003
|
).then((): void => undefined);
|
|
918
1004
|
}
|
|
919
1005
|
|
|
1006
|
+
private trackStoredNotificationTask(task: Promise<void> | void): void {
|
|
1007
|
+
if (!task || typeof task.then !== "function") return;
|
|
1008
|
+
const tracked = Promise.resolve(task).catch((): void => undefined);
|
|
1009
|
+
this._storedNotificationTasks.add(tracked);
|
|
1010
|
+
tracked
|
|
1011
|
+
.finally(() => this._storedNotificationTasks.delete(tracked))
|
|
1012
|
+
.catch((): void => undefined);
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
private async drainStoredNotificationTasks(): Promise<void> {
|
|
1016
|
+
while (this._storedNotificationTasks.size > 0) {
|
|
1017
|
+
await Promise.all([...this._storedNotificationTasks]);
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
|
|
920
1021
|
async has(cid: string) {
|
|
921
1022
|
return this.localStore.has(cid);
|
|
922
1023
|
}
|
|
@@ -985,6 +1086,7 @@ export class RemoteBlocks implements IBlocks {
|
|
|
985
1086
|
async start(): Promise<void> {
|
|
986
1087
|
this._events = new TypedEventEmitter();
|
|
987
1088
|
this.closeController = new AbortController();
|
|
1089
|
+
this._storedNotificationTasks = new Set();
|
|
988
1090
|
await this.localStore?.start();
|
|
989
1091
|
this._open = true;
|
|
990
1092
|
}
|
|
@@ -1518,6 +1620,7 @@ export class RemoteBlocks implements IBlocks {
|
|
|
1518
1620
|
this._deferredStoredNotificationTimer = undefined;
|
|
1519
1621
|
}
|
|
1520
1622
|
await capture(() => this.flushDeferredStoredNotifications());
|
|
1623
|
+
await capture(() => this.drainStoredNotificationTasks());
|
|
1521
1624
|
// Queued wrappers observe the aborted generation and drain without starting
|
|
1522
1625
|
// new work. Avoid PQueue.clear(): it would strand promises already returned
|
|
1523
1626
|
// by the nested background-admission queue.
|
|
@@ -1559,4 +1662,8 @@ export class RemoteBlocks implements IBlocks {
|
|
|
1559
1662
|
persisted(): boolean | Promise<boolean> {
|
|
1560
1663
|
return this.localStore?.persisted() || false;
|
|
1561
1664
|
}
|
|
1665
|
+
|
|
1666
|
+
get crashSafeDurability() {
|
|
1667
|
+
return this.localStore?.crashSafeDurability;
|
|
1668
|
+
}
|
|
1562
1669
|
}
|