@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.
@@ -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;CAGvC"}
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"}
@@ -248,5 +248,8 @@ export class AnyBlockStore {
248
248
  persisted() {
249
249
  return this._store.persisted();
250
250
  }
251
+ get crashSafeDurability() {
252
+ return this._store.crashSafeDurability;
253
+ }
251
254
  }
252
255
  //# sourceMappingURL=any-blockstore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"any-blockstore.js","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"any-blockstore.js","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p.js","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"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"}
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,OAoCC;QAED,IAAI,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACrF,CAAC;QAED,KAAK,CAAC,UAAU,EAAE,CAAC,6BAA6B,CAAC,EAAE;YAClD,4BAA4B,EAAE,OAAO,EAAE,4BAA4B,IAAI,EAAE;YACzE,eAAe,EAAE,OAAO,EAAE,eAAe,IAAI,IAAI;YACjD,iBAAiB,EAAE;gBAClB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK;aACb;YACD,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC3B,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;QACnD,MAAM,uBAAuB,GAAG,GAAG,EAAE;YACpC,IAAI,aAAa,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,MAAM,SAAS,GAAa,EAAE,CAAC;gBAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC;oBACvE,IAAI,CAAC;wBACJ,SAAS,CAAC,IAAI,CACb,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAClD,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACR,8BAA8B;oBAC/B,CAAC;gBACF,CAAC;gBACD,OAAO,aAAa,CAAC,yBAAyB,CAC7C,UAAU,EACV,SAAS,EACT,IAAI,CAAC,aAAa,CAClB,CAAC;YACH,CAAC;YACD,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,EAAE;gBAC9B,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa;oBAAE,OAAO;gBACxC,0DAA0D;gBAC1D,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,wEAAwE;YACxE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACR,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE;oBAAE,OAAO,GAAG,CAAC;YAClC,CAAC;YAED,2EAA2E;YAC3E,8EAA8E;YAC9E,oDAAoD;YACpD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC;gBACvE,IAAI,CAAC;oBACJ,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAAC,MAAM,CAAC;oBACR,8BAA8B;gBAC/B,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE;oBAAE,MAAM;YAC7B,CAAC;YAED,OAAO,GAAG,CAAC;QACZ,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACpC,KAAK,EAAE,IAAI,aAAa,CACvB,OAAO,EAAE,UAAU,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CACtD;YACD,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;YACxD,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI;YAC3C,4BAA4B,EAAE,OAAO,EAAE,4BAA4B,IAAI,EAAE;YACzE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAmB;YAClD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,uBAAuB;YACtE,cAAc,EAAE,OAAO,EAAE,cAAc;YACvC,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,aAAa,EAAE,OAAO,EAAE,aAAa;YACrC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;YAC/C,IAAI,EAAE,aAAa;gBAClB,CAAC,CAAC;oBACA,QAAQ,EAAE,aAAa;oBACvB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;iBAChE;gBACF,CAAC,CAAC,SAAS;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,CAAC,IAA8B,EAAE,EAAE;YAClD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjE,OAAO;YACR,CAAC;YACD,IAAI,OAAqB,CAAC;YAC1B,IAAI,CAAC;gBACJ,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACR,8DAA8D;gBAC9D,6DAA6D;gBAC7D,6DAA6D;gBAC7D,+DAA+D;gBAC/D,2DAA2D;gBAC3D,2BAA2B;gBAC3B,OAAO;YACR,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE;gBACpC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;gBAC9D,SAAS,EAAE,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC;aACrD,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAA+B,EAAE,EAAE,CAC5D,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,2BAA2B;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,CAAC;IACxD,CAAC;IAED,2BAA2B;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,CAAC;IACxD,CAAC;IAEO,kBAAkB,CAAC,OAAqC;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;QACnD,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,OAAO,YAAY,YAAY,EAAE,CAAC;gBACrC,OAAO,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;gBACtC,OAAO,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACtE,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAEO,kBAAkB,CAAC,KAAiB;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;QACnD,IAAI,aAAa,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS;gBAChC,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC/B,CAAC,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,4BAA4B;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,GAAG,CACR,KAAqE;QAErE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,MAEC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,KAAiB;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,MAAwD;QAExD,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAc;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,GAAG,CACR,GAAW,EACX,OAAgC;QAEhC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,IAAc,EACd,OAAgC;QAEhC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,SAAmB;QAC7C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAc;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ;QACd,IAAI,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/D,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IAED,KAAK,CAAC,KAAK;QACV,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI;QACT,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC;IAClD,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;CACD"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"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"}
@@ -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
- void Promise.resolve(durableBarrier).then(() => this.notifyPuts(stored), () => undefined);
200
+ this.trackStoredNotificationTask(Promise.resolve(durableBarrier).then(() => this.notifyPuts(stored), () => undefined));
196
201
  }
197
202
  else {
198
- void this.notifyPuts(stored);
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.options.onPut || cids.length === 0) {
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
- if (pending.size === 0 || this._deferredStoredNotificationTimer) {
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._deferredStoredNotificationCids = undefined;
631
- const waits = [];
632
- for (const cid of pending) {
633
- try {
634
- const result = this.notifyStored(cid);
635
- if (result && typeof result.then === "function") {
636
- waits.push(result);
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
- catch {
640
- // ignore best-effort hooks
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
- if (waits.length > 0) {
644
- return Promise.all(waits).then(() => undefined);
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
- const onPut = this.options.onPut;
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
- return Promise.all(cids.map(async (cid) => {
716
+ const onPutMany = this.options.onPutMany;
717
+ if (onPutMany) {
671
718
  try {
672
- await onPut(cid);
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
- })).then(() => undefined);
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
@@ -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.13",
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.5",
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.15",
84
- "@peerbit/any-store-interface": "1.1.2",
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/logger": "2.0.2"
91
+ "@peerbit/stream-interface": "6.0.16"
92
92
  },
93
93
  "scripts": {
94
94
  "clean": "aegir clean",
@@ -366,4 +366,8 @@ export class AnyBlockStore implements Blocks {
366
366
  persisted(): boolean | Promise<boolean> {
367
367
  return this._store.persisted();
368
368
  }
369
+
370
+ get crashSafeDurability() {
371
+ return this._store.crashSafeDurability;
372
+ }
369
373
  }
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
- void Promise.resolve(durableBarrier).then(
313
- () => this.notifyPuts(stored),
314
- (): void => undefined,
327
+ this.trackStoredNotificationTask(
328
+ Promise.resolve(durableBarrier).then(
329
+ () => this.notifyPuts(stored),
330
+ (): void => undefined,
331
+ ),
315
332
  );
316
333
  } else {
317
- void this.notifyPuts(stored);
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 (!this.options.onPut || cids.length === 0) {
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
- if (pending.size === 0 || this._deferredStoredNotificationTimer) {
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._deferredStoredNotificationCids = undefined;
870
- const waits: Promise<void>[] = [];
871
- for (const cid of pending) {
872
- try {
873
- const result = this.notifyStored(cid);
874
- if (result && typeof result.then === "function") {
875
- waits.push(result);
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
- } catch {
878
- // ignore best-effort hooks
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 = this.options.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
- const onPut = this.options.onPut;
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
- return Promise.all(
910
- cids.map(async (cid) => {
911
- try {
912
- await onPut(cid);
913
- } catch {
914
- // ignore best-effort hooks
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
  }