@optimystic/db-core 0.21.0 → 0.24.0
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/README.md +336 -336
- package/dist/src/btree/btree.d.ts +2 -1
- package/dist/src/btree/btree.d.ts.map +1 -1
- package/dist/src/btree/btree.js +1 -1
- package/dist/src/btree/btree.js.map +1 -1
- package/dist/src/chain/chain.d.ts +1 -1
- package/dist/src/chain/chain.d.ts.map +1 -1
- package/dist/src/chain/chain.js +1 -1
- package/dist/src/chain/chain.js.map +1 -1
- package/dist/src/cluster/structs.d.ts +39 -1
- package/dist/src/cluster/structs.d.ts.map +1 -1
- package/dist/src/cluster/structs.js +24 -0
- package/dist/src/cluster/structs.js.map +1 -1
- package/dist/src/collection/collection.d.ts +20 -1
- package/dist/src/collection/collection.d.ts.map +1 -1
- package/dist/src/collection/collection.js +31 -4
- package/dist/src/collection/collection.js.map +1 -1
- package/dist/src/collections/diary/diary.d.ts.map +1 -1
- package/dist/src/collections/diary/diary.js +2 -1
- package/dist/src/collections/diary/diary.js.map +1 -1
- package/dist/src/collections/diary/struct.js +1 -1
- package/dist/src/collections/diary/struct.js.map +1 -1
- package/dist/src/collections/tree/collection-trunk.js +1 -1
- package/dist/src/collections/tree/collection-trunk.js.map +1 -1
- package/dist/src/collections/tree/struct.d.ts +1 -1
- package/dist/src/collections/tree/struct.d.ts.map +1 -1
- package/dist/src/collections/tree/struct.js +2 -1
- package/dist/src/collections/tree/struct.js.map +1 -1
- package/dist/src/collections/tree/tree.d.ts +5 -0
- package/dist/src/collections/tree/tree.d.ts.map +1 -1
- package/dist/src/collections/tree/tree.js +7 -0
- package/dist/src/collections/tree/tree.js.map +1 -1
- package/dist/src/log/log.d.ts +1 -1
- package/dist/src/log/log.d.ts.map +1 -1
- package/dist/src/log/log.js +2 -2
- package/dist/src/log/log.js.map +1 -1
- package/dist/src/network/i-peer-network.d.ts +16 -0
- package/dist/src/network/i-peer-network.d.ts.map +1 -1
- package/dist/src/network/struct.d.ts +39 -2
- package/dist/src/network/struct.d.ts.map +1 -1
- package/dist/src/network/struct.js +18 -0
- package/dist/src/network/struct.js.map +1 -1
- package/dist/src/testing/test-transactor.d.ts +95 -8
- package/dist/src/testing/test-transactor.d.ts.map +1 -1
- package/dist/src/testing/test-transactor.js +133 -12
- package/dist/src/testing/test-transactor.js.map +1 -1
- package/dist/src/transaction/coordinator.d.ts.map +1 -1
- package/dist/src/transaction/coordinator.js +2 -1
- package/dist/src/transaction/coordinator.js.map +1 -1
- package/dist/src/transaction/transaction.d.ts +1 -1
- package/dist/src/transaction/transaction.js +1 -1
- package/dist/src/transactor/network-transactor.d.ts.map +1 -1
- package/dist/src/transactor/network-transactor.js +57 -18
- package/dist/src/transactor/network-transactor.js.map +1 -1
- package/dist/src/transactor/transactor-source.d.ts.map +1 -1
- package/dist/src/transactor/transactor-source.js +25 -2
- package/dist/src/transactor/transactor-source.js.map +1 -1
- package/dist/src/transform/cache-source.js +1 -1
- package/dist/src/transform/cache-source.js.map +1 -1
- package/dist/src/transform/helpers.d.ts +6 -1
- package/dist/src/transform/helpers.d.ts.map +1 -1
- package/dist/src/transform/helpers.js +7 -6
- package/dist/src/transform/helpers.js.map +1 -1
- package/dist/src/transform/tracker.d.ts.map +1 -1
- package/dist/src/transform/tracker.js +2 -1
- package/dist/src/transform/tracker.js.map +1 -1
- package/package.json +1 -1
- package/src/btree/btree.ts +2 -1
- package/src/chain/chain.ts +2 -1
- package/src/cluster/membership.ts +85 -85
- package/src/cluster/structs.ts +43 -4
- package/src/cohort-topic/addressing.ts +120 -120
- package/src/cohort-topic/antidos/bootstrap-evidence-envelope.ts +253 -253
- package/src/cohort-topic/antidos/bootstrap-evidence.ts +106 -106
- package/src/cohort-topic/antidos/index.ts +5 -5
- package/src/cohort-topic/antidos/rate-limiter.ts +210 -210
- package/src/cohort-topic/antidos/replay-guard.ts +146 -146
- package/src/cohort-topic/antidos/topic-budget.ts +160 -160
- package/src/cohort-topic/antiflood/index.ts +2 -2
- package/src/cohort-topic/antiflood/invariants.ts +108 -108
- package/src/cohort-topic/antiflood/jitter.ts +117 -117
- package/src/cohort-topic/coldstart.ts +237 -237
- package/src/cohort-topic/dmax.ts +88 -88
- package/src/cohort-topic/gossip/bus.ts +254 -254
- package/src/cohort-topic/gossip/index.ts +3 -3
- package/src/cohort-topic/gossip/records.ts +45 -45
- package/src/cohort-topic/gossip/view.ts +91 -91
- package/src/cohort-topic/index.ts +20 -20
- package/src/cohort-topic/load/barometer.ts +134 -134
- package/src/cohort-topic/load/index.ts +1 -1
- package/src/cohort-topic/member-engine.ts +430 -430
- package/src/cohort-topic/membership/index.ts +3 -3
- package/src/cohort-topic/membership/publisher.ts +163 -163
- package/src/cohort-topic/membership/source.ts +41 -41
- package/src/cohort-topic/membership/verifier.ts +461 -461
- package/src/cohort-topic/ports.ts +157 -157
- package/src/cohort-topic/promotion.ts +405 -405
- package/src/cohort-topic/registration/bytes.ts +37 -37
- package/src/cohort-topic/registration/handoff.ts +154 -154
- package/src/cohort-topic/registration/index.ts +6 -6
- package/src/cohort-topic/registration/renewal.ts +495 -495
- package/src/cohort-topic/registration/sharding.ts +61 -61
- package/src/cohort-topic/registration/store.ts +81 -81
- package/src/cohort-topic/registration/types.ts +91 -91
- package/src/cohort-topic/ring-hash.ts +50 -50
- package/src/cohort-topic/service.ts +416 -416
- package/src/cohort-topic/sig/index.ts +2 -2
- package/src/cohort-topic/sig/payloads.ts +59 -59
- package/src/cohort-topic/sig/threshold.ts +64 -64
- package/src/cohort-topic/tiers.ts +74 -74
- package/src/cohort-topic/traffic.ts +233 -233
- package/src/cohort-topic/walk.ts +326 -326
- package/src/cohort-topic/willingness.ts +237 -237
- package/src/cohort-topic/wire/codec.ts +216 -216
- package/src/cohort-topic/wire/index.ts +18 -18
- package/src/cohort-topic/wire/payloads.ts +126 -126
- package/src/cohort-topic/wire/primitives.ts +188 -188
- package/src/cohort-topic/wire/types.ts +475 -475
- package/src/cohort-topic/wire/validate.ts +512 -512
- package/src/collection/collection-type-registry.ts +37 -37
- package/src/collection/collection.ts +32 -4
- package/src/collections/diary/diary.ts +68 -67
- package/src/collections/diary/struct.ts +1 -1
- package/src/collections/tree/collection-trunk.ts +1 -1
- package/src/collections/tree/readme.md +4 -0
- package/src/collections/tree/struct.ts +3 -1
- package/src/collections/tree/tree.ts +320 -312
- package/src/log/log.ts +2 -2
- package/src/matchmaking/capability-filter.ts +45 -45
- package/src/matchmaking/config.ts +98 -98
- package/src/matchmaking/index.ts +21 -21
- package/src/matchmaking/multi-cohort-seeker.ts +234 -234
- package/src/matchmaking/provider.ts +123 -123
- package/src/matchmaking/query-eval.ts +105 -105
- package/src/matchmaking/seeker-walk.ts +127 -127
- package/src/matchmaking/seeker.ts +86 -86
- package/src/matchmaking/topic-anchor.ts +90 -90
- package/src/matchmaking/voting-quorum.ts +394 -394
- package/src/matchmaking/wire.ts +603 -603
- package/src/network/i-peer-network.ts +17 -0
- package/src/network/stale-failure.ts +43 -43
- package/src/network/struct.ts +41 -2
- package/src/network/types.ts +37 -37
- package/src/reactivity/backfill.ts +220 -220
- package/src/reactivity/backpressure.ts +191 -191
- package/src/reactivity/checkpoint.ts +308 -308
- package/src/reactivity/config.ts +172 -172
- package/src/reactivity/dedupe.ts +132 -132
- package/src/reactivity/forwarder.ts +87 -87
- package/src/reactivity/index.ts +34 -34
- package/src/reactivity/notification.ts +123 -123
- package/src/reactivity/policy.ts +79 -79
- package/src/reactivity/push-state.ts +310 -310
- package/src/reactivity/recover.ts +153 -153
- package/src/reactivity/replay-buffer.ts +141 -141
- package/src/reactivity/resume.ts +549 -549
- package/src/reactivity/rotation.ts +415 -415
- package/src/reactivity/subscriber.ts +132 -132
- package/src/reactivity/subscription.ts +66 -66
- package/src/reactivity/topic-anchor.ts +71 -71
- package/src/reactivity/verify.ts +73 -73
- package/src/reactivity/wire-validate.ts +13 -13
- package/src/reactivity/wire.ts +224 -224
- package/src/testing/async-wait.ts +65 -65
- package/src/testing/index.ts +2 -2
- package/src/testing/test-transactor.ts +638 -489
- package/src/transaction/coordinator.ts +2 -1
- package/src/transaction/errors.ts +91 -91
- package/src/transaction/operations-hash.ts +196 -196
- package/src/transaction/read-dependency-collector.ts +78 -78
- package/src/transaction/transaction.ts +1 -1
- package/src/transactor/change-notifier.ts +80 -80
- package/src/transactor/index.ts +5 -5
- package/src/transactor/network-transactor.ts +58 -19
- package/src/transactor/transactor-source.ts +25 -2
- package/src/transform/atomic-proxy.ts +92 -92
- package/src/transform/cache-source.ts +1 -1
- package/src/transform/helpers.ts +159 -158
- package/src/transform/tracker.ts +2 -1
- package/src/utility/backoff.ts +95 -95
- package/src/utility/batch-coordinator.ts +191 -191
- package/dist/src/transaction/context.d.ts +0 -60
- package/dist/src/transaction/context.d.ts.map +0 -1
- package/dist/src/transaction/context.js +0 -91
- package/dist/src/transaction/context.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diary.js","sourceRoot":"","sources":["../../../../src/collections/diary/diary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"diary.js","sourceRoot":"","sources":["../../../../src/collections/diary/diary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;uDACuD;AACvD,SAAS,SAAS;IACjB,OAAO;QACN,OAAO,EAAE;YACR,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACjC,sDAAsD;gBACtD,oCAAoC;YACrC,CAAC;SACD;QACD,iBAAiB,EAAE,CAAC,EAAW,EAAE,KAAyB,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACzD,CAAC;KACF,CAAC;AACH,CAAC;AAED,MAAM,OAAO,KAAK;IAEE;IADhB,YACgB,UAA8B;QAA9B,eAAU,GAAV,UAAU,CAAoB;IAE9C,CAAC;IAED;iFAC6E;IAC7E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAS,OAAoB,EAAE,EAAgB;QACpE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAU,CAAC,CAAC;QACnF,OAAO,IAAI,KAAK,CAAS,UAAU,CAAC,CAAC;IACzC,CAAC;IAED;sGACkG;IAClG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAS,OAAoB,EAAE,EAAgB;QAC5D,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAU,CAAC,CAAC;QAC3E,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAS,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,MAAM,GAAmB;YAC3B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IAC1C,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI;QACxB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,MAAM,KAAK,CAAC,IAAI,CAAC;QACrB,CAAC;IACL,CAAC;CACJ;AAED,sBAAsB,CAAC;IACtB,SAAS,EAAE,oBAAoB;IAC/B,IAAI,EAAE,OAAO;IACb,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAW,CAAC;CAC/F,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../src/collections/diary/struct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../src/collections/diary/struct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-trunk.js","sourceRoot":"","sources":["../../../../src/collections/tree/collection-trunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"collection-trunk.js","sourceRoot":"","sources":["../../../../src/collections/tree/collection-trunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAkC,MAAM,aAAa,CAAC;AAEtE,MAAM,OAAO,eAAe;IAEH;IACA;IAFrB,YACqB,KAAyB,EACzB,YAAqB;QADrB,UAAK,GAAL,KAAK,CAAoB;QACzB,iBAAY,GAAZ,YAAY,CAAS;IACvC,CAAC;IAEJ,KAAK,CAAC,GAAG;QACL,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAe;QACzB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAA8B,CAAC;QACrF,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,KAAK;QACX,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAA8B,CAAC;QACjF,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;CACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BlockId, CollectionHeaderBlock } from "../../index.js";
|
|
2
2
|
export declare const TreeHeaderBlockType: string;
|
|
3
3
|
export type TreeCollectionHeaderBlock = CollectionHeaderBlock & {
|
|
4
4
|
rootId: BlockId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../../src/collections/tree/struct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../../src/collections/tree/struct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAKrE,eAAO,MAAM,mBAAmB,QAA8C,CAAC;AAO/E,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAAG;IAC/D,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,OAAO,QAA8C,CAAC;AAEnE,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,IAAI;IAE7C,GAAG,EAAE,IAAI;IAET,KAAK,CAAC,EAAE,MAAM;CACd,EAAE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { registerBlockType
|
|
1
|
+
import { registerBlockType } from "../../blocks/block-types.js";
|
|
2
|
+
import { registerCollectionType } from "../../collection/collection-type-registry.js";
|
|
2
3
|
import { nameof } from "../../utility/nameof.js";
|
|
3
4
|
export const TreeHeaderBlockType = registerBlockType("TRE", "TreeHeaderBlock");
|
|
4
5
|
registerCollectionType({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../src/collections/tree/struct.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../src/collections/tree/struct.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAE/E,sBAAsB,CAAC;IACtB,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,MAAM;CACZ,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAA4B,QAAQ,CAAC,CAAC"}
|
|
@@ -63,6 +63,11 @@ export declare class Tree<TKey, TEntry> implements TreeReadView<TKey, TEntry> {
|
|
|
63
63
|
/** Flush all staged (and any other pending) changes to the transactor.
|
|
64
64
|
* Equivalent to the flush half of {@link replace}. */
|
|
65
65
|
sync(): Promise<void>;
|
|
66
|
+
/** Whether {@link sync} has anything to push — see
|
|
67
|
+
* {@link Collection.hasUnsyncedChanges}. `false` means the commit half of
|
|
68
|
+
* {@link sync} is a no-op, so a caller flushing several trees can skip the ones
|
|
69
|
+
* with nothing staged and avoid their (cache-bypassing) refresh. */
|
|
70
|
+
hasUnsyncedChanges(): boolean;
|
|
66
71
|
/** Capture the current staged state so it can be restored via {@link restore}.
|
|
67
72
|
* Take this BEFORE staging a unit of work that may be rolled back. The snapshot
|
|
68
73
|
* is opaque; pass the exact value back to {@link restore}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/collections/tree/tree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/collections/tree/tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,13 @@ export class Tree {
|
|
|
114
114
|
async sync() {
|
|
115
115
|
await this.collection.updateAndSync();
|
|
116
116
|
}
|
|
117
|
+
/** Whether {@link sync} has anything to push — see
|
|
118
|
+
* {@link Collection.hasUnsyncedChanges}. `false` means the commit half of
|
|
119
|
+
* {@link sync} is a no-op, so a caller flushing several trees can skip the ones
|
|
120
|
+
* with nothing staged and avoid their (cache-bypassing) refresh. */
|
|
121
|
+
hasUnsyncedChanges() {
|
|
122
|
+
return this.collection.hasUnsyncedChanges();
|
|
123
|
+
}
|
|
117
124
|
/** Capture the current staged state so it can be restored via {@link restore}.
|
|
118
125
|
* Take this BEFORE staging a unit of work that may be rolled back. The snapshot
|
|
119
126
|
* is opaque; pass the exact value back to {@link restore}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/collections/tree/tree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/collections/tree/tree.ts"],"names":[],"mappings":"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"}
|
package/dist/src/log/log.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Chain } from "../
|
|
1
|
+
import { Chain } from "../chain/chain.js";
|
|
2
2
|
import type { IBlock, BlockId, ActionId, CollectionId, ChainPath, ActionRev, ActionContext, ChainInitOptions, BlockStore, ReadDependency } from "../index.js";
|
|
3
3
|
import type { ChainDataNode } from '../chain/chain-nodes.js';
|
|
4
4
|
import type { LogEntry, DisputeResolutionProof, InvalidationEntry, RevertedBlock } from "./index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/log/log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/log/log.ts"],"names":[],"mappings":"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"}
|
package/dist/src/log/log.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
2
|
-
import { Chain, entryAt } from "../
|
|
2
|
+
import { Chain, entryAt } from "../chain/chain.js";
|
|
3
3
|
import { nameof } from "../utility/nameof.js";
|
|
4
|
-
import { LogDataBlockType, LogHeaderBlockType } from "./
|
|
4
|
+
import { LogDataBlockType, LogHeaderBlockType } from "./struct.js";
|
|
5
5
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
6
6
|
export const priorHash$ = nameof("priorHash");
|
|
7
7
|
/**
|
package/dist/src/log/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/log/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/log/log.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,21 @@ export type IPeerNetwork = {
|
|
|
4
4
|
* Dial a peer and establish a protocol stream
|
|
5
5
|
*/
|
|
6
6
|
connect(peerId: PeerId, protocol: string, options?: AbortOptions): Promise<Stream>;
|
|
7
|
+
/**
|
|
8
|
+
* Optionally teach the dialer how to reach `peerId`, from addresses carried by an
|
|
9
|
+
* application-level message (a cluster record's peer map, a redirect payload).
|
|
10
|
+
*
|
|
11
|
+
* This exists because libp2p only propagates a peer's addresses to peers it is
|
|
12
|
+
* DIRECTLY connected to. A cohort here is chosen by key position, so a member
|
|
13
|
+
* routinely shares a cohort with a relay-only peer it has never met and holds an
|
|
14
|
+
* empty address list for it — a dial by peer id alone then fails immediately. Our
|
|
15
|
+
* own protocol messages already carry the addresses; this is the seam that lets a
|
|
16
|
+
* recipient keep them.
|
|
17
|
+
*
|
|
18
|
+
* Addresses are multiaddr strings (matching `ClusterPeers` / `RedirectPayload`), so
|
|
19
|
+
* db-core needs no multiaddr dependency. Implementations without an address book
|
|
20
|
+
* omit this method.
|
|
21
|
+
*/
|
|
22
|
+
recordPeerAddresses?(peerId: PeerId, multiaddrs: string[]): void;
|
|
7
23
|
};
|
|
8
24
|
//# sourceMappingURL=i-peer-network.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-peer-network.d.ts","sourceRoot":"","sources":["../../../src/network/i-peer-network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"i-peer-network.d.ts","sourceRoot":"","sources":["../../../src/network/i-peer-network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnF;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAClE,CAAA"}
|
|
@@ -141,8 +141,22 @@ export type BlockUnavailableReason =
|
|
|
141
141
|
/** Records for this block exist here but it cannot be reconstructed locally — a
|
|
142
142
|
* revision was received with no base to apply it to, or its history is truncated. */
|
|
143
143
|
'unmaterializable'
|
|
144
|
-
/** Nothing is held locally
|
|
145
|
-
|
|
144
|
+
/** Nothing is held locally; PART of the cohort answered and part could not be asked.
|
|
145
|
+
* A silent peer could be the sole holder, so the absence is a guess — but other
|
|
146
|
+
* coordinators are reachable, so asking one of them can still settle it. Also the
|
|
147
|
+
* fallback when the consult could not run at all (the cohort lookup itself failed):
|
|
148
|
+
* a routing failure says nothing about how many cohort members were reachable. */
|
|
149
|
+
| 'peers-unreachable'
|
|
150
|
+
/** Nothing is held locally and NO cohort member outside the answering node could be
|
|
151
|
+
* asked at all. Distinct from `peers-unreachable` in exactly the way that matters to
|
|
152
|
+
* a caller: there is no better-connected coordinator to re-ask, so the answer will
|
|
153
|
+
* not improve until that node's connectivity does. Its local view is all there is. */
|
|
154
|
+
| 'cohort-unreachable'
|
|
155
|
+
/** Nothing is held locally, but a cohort peer positively CLAIMED a revision of this
|
|
156
|
+
* block, and the answering node could neither corroborate that claim to a quorum nor
|
|
157
|
+
* acquire the content. The block is known to exist somewhere; reporting it absent
|
|
158
|
+
* would be a lie regardless of whether anyone was silent. */
|
|
159
|
+
| 'claimed-elsewhere';
|
|
146
160
|
export type GetBlockResult = {
|
|
147
161
|
/** The retrieved block - undefined if the block was deleted */
|
|
148
162
|
block?: IBlock;
|
|
@@ -165,6 +179,16 @@ export type GetBlockResult = {
|
|
|
165
179
|
* guess, not an authoritative absent. Every producer that omits it (including
|
|
166
180
|
* TestTransactor) keeps meaning "authoritative". */
|
|
167
181
|
unavailable?: BlockUnavailableReason;
|
|
182
|
+
/** Set when this repo served committed content it could NOT confirm is current: its
|
|
183
|
+
* freshness consult did not converge AND a cohort peer claimed a strictly higher
|
|
184
|
+
* revision than the one served, within the view the caller asked for (unpinned, or
|
|
185
|
+
* pinned at or above the claim). Carries that claimed revision. The claim did not
|
|
186
|
+
* drive a successful repair — it failed the read-repair corroboration quorum, or was
|
|
187
|
+
* corroborated but the content could not be acquired — so it is evidence of DOUBT,
|
|
188
|
+
* never a revision to adopt. Distinct from `unavailable`, which is about EXISTENCE:
|
|
189
|
+
* the content here is real, it may just be behind. Absent = confirmed, so every
|
|
190
|
+
* producer that omits it keeps its meaning. */
|
|
191
|
+
unconfirmedAheadRev?: number;
|
|
168
192
|
};
|
|
169
193
|
/**
|
|
170
194
|
* Thrown by a block read when the responsible repo could not determine whether the
|
|
@@ -177,6 +201,19 @@ export declare class BlockUnavailableError extends Error {
|
|
|
177
201
|
readonly reason: BlockUnavailableReason;
|
|
178
202
|
constructor(blockId: BlockId, reason: BlockUnavailableReason);
|
|
179
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Thrown by an unpinned ("give me latest") block read whose surviving answer carries
|
|
206
|
+
* {@link GetBlockResult.unconfirmedAheadRev}: every reachable coordinator served content
|
|
207
|
+
* it could not confirm is current, while a cohort peer claimed a strictly higher revision
|
|
208
|
+
* nothing could corroborate or refute. Sibling of {@link BlockUnavailableError} — that one
|
|
209
|
+
* is about EXISTENCE (blockless answer, could not find out), this one about CURRENCY (real
|
|
210
|
+
* content, possibly behind). Not a StaleFailure: `Collection.sync` does not retry it.
|
|
211
|
+
*/
|
|
212
|
+
export declare class BlockPossiblyStaleError extends Error {
|
|
213
|
+
readonly blockId: BlockId;
|
|
214
|
+
readonly claimedRev: number;
|
|
215
|
+
constructor(blockId: BlockId, claimedRev: number);
|
|
216
|
+
}
|
|
180
217
|
export type GetBlockResults = Record<BlockId, GetBlockResult>;
|
|
181
218
|
/**
|
|
182
219
|
* Result of validating a transaction in a PendRequest.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../src/network/struct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG;IAC5C;;;2FAGuF;IACvF,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,oFAAoF;IACpF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC9C,QAAQ,EAAE,CAAC,SAAS,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,GAAG,uBAAuB,CAAC,EAAE,CAAC;CAC7F,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,qFAAqF;IACrF,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG;IAC1C,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,MAAM,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,uDAAuD;IACvD,mBAAmB,EAAE,QAAQ,CAAC;IAC9B,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,mGAAmG;IACnG,YAAY,EAAE,YAAY,CAAC;IAC3B,6FAA6F;IAC7F,UAAU,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,IAAI,CAAC;IACd,yGAAyG;IACzG,aAAa,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,gDAAgD;IAChD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF;mFACmF;AACnF,MAAM,MAAM,sBAAsB;AACjC;sFACsF;AACpF,kBAAkB;AACpB
|
|
1
|
+
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../src/network/struct.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,4 +14,22 @@ export class BlockUnavailableError extends Error {
|
|
|
14
14
|
this.name = 'BlockUnavailableError';
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Thrown by an unpinned ("give me latest") block read whose surviving answer carries
|
|
19
|
+
* {@link GetBlockResult.unconfirmedAheadRev}: every reachable coordinator served content
|
|
20
|
+
* it could not confirm is current, while a cohort peer claimed a strictly higher revision
|
|
21
|
+
* nothing could corroborate or refute. Sibling of {@link BlockUnavailableError} — that one
|
|
22
|
+
* is about EXISTENCE (blockless answer, could not find out), this one about CURRENCY (real
|
|
23
|
+
* content, possibly behind). Not a StaleFailure: `Collection.sync` does not retry it.
|
|
24
|
+
*/
|
|
25
|
+
export class BlockPossiblyStaleError extends Error {
|
|
26
|
+
blockId;
|
|
27
|
+
claimedRev;
|
|
28
|
+
constructor(blockId, claimedRev) {
|
|
29
|
+
super(`Block ${blockId} may be stale: a cohort peer claimed rev ${claimedRev} that no reachable coordinator could confirm or refute`);
|
|
30
|
+
this.blockId = blockId;
|
|
31
|
+
this.claimedRev = claimedRev;
|
|
32
|
+
this.name = 'BlockPossiblyStaleError';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
17
35
|
//# sourceMappingURL=struct.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../src/network/struct.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../src/network/struct.ts"],"names":[],"mappings":"AA+MA;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC1B;IAA2B;IAAhD,YAAqB,OAAgB,EAAW,MAA8B;QAC7E,KAAK,CAAC,SAAS,OAAO,oBAAoB,MAAM,mDAAmD,CAAC,CAAC;QADjF,YAAO,GAAP,OAAO,CAAS;QAAW,WAAM,GAAN,MAAM,CAAwB;QAE7E,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACrC,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC5B;IAA2B;IAAhD,YAAqB,OAAgB,EAAW,UAAkB;QACjE,KAAK,CAAC,SAAS,OAAO,4CAA4C,UAAU,wDAAwD,CAAC,CAAC;QADlH,YAAO,GAAP,OAAO,CAAS;QAAW,eAAU,GAAV,UAAU,CAAQ;QAEjE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACvC,CAAC;CACD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ITransactor, GetBlockResults, ActionBlocks, BlockActionStatus, PendResult, CommitResult, PendRequest, BlockId, CommitRequest, BlockGets, ActionId, ActionTransforms, ClusterNomineesResult, CollectionId } from "../index.js";
|
|
2
|
+
import type { TreeReplaceAction } from "../collections/tree/struct.js";
|
|
2
3
|
export declare class TestTransactor implements ITransactor {
|
|
3
4
|
private blocks;
|
|
4
5
|
available: boolean;
|
|
@@ -17,14 +18,34 @@ export declare class TestTransactor implements ITransactor {
|
|
|
17
18
|
/** Optional method for querying cluster nominees (used in GATHER phase for multi-collection transactions) */
|
|
18
19
|
queryClusterNominees?: (blockId: BlockId) => Promise<ClusterNomineesResult>;
|
|
19
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Base for the intercepting wrappers below: forwards every {@link ITransactor} member to `inner`,
|
|
23
|
+
* so a wrapper overrides only the one call it intercepts and cannot silently drop the rest.
|
|
24
|
+
*
|
|
25
|
+
* `queryClusterNominees` is forwarded through a GETTER rather than a method, because the coordinator
|
|
26
|
+
* treats its ABSENCE as "no supercluster" (see `gatherPhase`). A wrapper that always defined it
|
|
27
|
+
* would push every wrapped multi-collection test onto the GATHER path even when the inner
|
|
28
|
+
* transactor never opted in; a wrapper that omits it (as these did before) does the opposite —
|
|
29
|
+
* a test that sets `inner.queryClusterNominees` and then wraps would skip GATHER and pass
|
|
30
|
+
* vacuously. The getter reproduces the inner transactor's own answer either way.
|
|
31
|
+
*/
|
|
32
|
+
export declare abstract class DelegatingTransactor implements ITransactor {
|
|
33
|
+
protected readonly inner: TestTransactor;
|
|
34
|
+
protected constructor(inner: TestTransactor);
|
|
35
|
+
get(b: BlockGets): Promise<GetBlockResults>;
|
|
36
|
+
getStatus(a: ActionBlocks[]): Promise<BlockActionStatus[]>;
|
|
37
|
+
pend(r: PendRequest): Promise<PendResult>;
|
|
38
|
+
cancel(a: ActionBlocks): Promise<void>;
|
|
39
|
+
commit(r: CommitRequest): Promise<CommitResult>;
|
|
40
|
+
get queryClusterNominees(): ((blockId: BlockId) => Promise<ClusterNomineesResult>) | undefined;
|
|
41
|
+
}
|
|
20
42
|
/**
|
|
21
43
|
* Wraps a {@link TestTransactor} and forces its commit phase to fail a bounded (or unbounded)
|
|
22
44
|
* number of times before delegating, so tests can exercise the sync retry / backoff / give-up
|
|
23
|
-
* path deterministically.
|
|
45
|
+
* path deterministically. Everything else delegates unchanged, so the pend→commit→cancel
|
|
24
46
|
* round-trip runs exactly as in production.
|
|
25
47
|
*/
|
|
26
|
-
export declare class FlakyCommitTransactor
|
|
27
|
-
private readonly inner;
|
|
48
|
+
export declare class FlakyCommitTransactor extends DelegatingTransactor {
|
|
28
49
|
private readonly failFirstN;
|
|
29
50
|
private readonly reason;
|
|
30
51
|
/** Number of commit() calls observed so far (across success and forced failure). */
|
|
@@ -35,10 +56,76 @@ export declare class FlakyCommitTransactor implements ITransactor {
|
|
|
35
56
|
* @param reason the StaleFailure.reason returned on a forced failure
|
|
36
57
|
*/
|
|
37
58
|
constructor(inner: TestTransactor, failFirstN: number, reason?: string);
|
|
38
|
-
get(b: BlockGets): Promise<GetBlockResults>;
|
|
39
|
-
getStatus(a: ActionBlocks[]): Promise<BlockActionStatus[]>;
|
|
40
|
-
pend(r: PendRequest): Promise<PendResult>;
|
|
41
|
-
cancel(a: ActionBlocks): Promise<void>;
|
|
42
59
|
commit(request: CommitRequest): Promise<CommitResult>;
|
|
43
60
|
}
|
|
61
|
+
/** A competing writer: a real write driven against the UNWRAPPED transactor, so its own
|
|
62
|
+
* pend/commit calls are invisible to {@link CompetingWriterTransactor}'s counters and cannot
|
|
63
|
+
* re-trigger the interception. See {@link commitRivalTreeWrite} for the usual implementation. */
|
|
64
|
+
export type RivalWrite = (inner: ITransactor) => Promise<void>;
|
|
65
|
+
export type CompetingWriterOptions = {
|
|
66
|
+
/** Fires on the first pend whose request satisfies this predicate. `callIndex` is 1-based over
|
|
67
|
+
* ALL pend calls seen (not only matching ones). Default: fire on the first pend call. */
|
|
68
|
+
when?: (request: PendRequest, callIndex: number) => boolean;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Wraps a {@link TestTransactor} and, exactly once, runs a real competing writer to completion
|
|
72
|
+
* BEFORE delegating the intercepted pend. The rival durably commits (real log entry, real
|
|
73
|
+
* revision bump), so the delegated pend then fails as a GENUINE optimistic-concurrency loss —
|
|
74
|
+
* nothing is forced or faked, unlike {@link FlakyCommitTransactor}, which returns a stale failure
|
|
75
|
+
* without ever advancing a block's revision.
|
|
76
|
+
*
|
|
77
|
+
* That distinction is the whole point: only a rival that actually landed can prove the loser
|
|
78
|
+
* OBSERVED a newer revision, re-applied its work on top of it, and did not lose an update.
|
|
79
|
+
*
|
|
80
|
+
* Two deliberate design constraints:
|
|
81
|
+
*
|
|
82
|
+
* 1. **The trigger is on PEND, and there is no commit trigger.** The rival is a real
|
|
83
|
+
* Collection/Tree, so its write pends with policy `'r'` (see `TransactorSource.transact`), and
|
|
84
|
+
* {@link TestTransactor.pend} rejects a pend whose blocks already carry a *pending* action.
|
|
85
|
+
* Firing before the loser's pend delegates means the loser has pended nothing yet, so the
|
|
86
|
+
* rival pends and commits cleanly and the loser's delegated pend then fails with `missing` — a
|
|
87
|
+
* real conflict. Firing at COMMIT time instead would leave the loser already pending on the
|
|
88
|
+
* shared log-tail block, so the rival's own pend would collide with it and spin through its
|
|
89
|
+
* sync retry budget (~10 attempts, ~21s) while the loser sits awaiting the rival inside its
|
|
90
|
+
* own commit: a livelock dressed up as a slow test. Do not add a commit trigger.
|
|
91
|
+
*
|
|
92
|
+
* 2. **The rival runs before delegation, never inside {@link TestTransactor}'s critical section.**
|
|
93
|
+
* `TestTransactor.get`/`commit` hold per-block latches (`TestTransactor.commit:${blockId}`), and
|
|
94
|
+
* those latch keys are process-global — a rival invoked from inside one of them would
|
|
95
|
+
* self-deadlock on its own reads. Intercepting here in the wrapper, before
|
|
96
|
+
* `await this.inner.pend(...)`, is outside every such section.
|
|
97
|
+
*/
|
|
98
|
+
export declare class CompetingWriterTransactor extends DelegatingTransactor {
|
|
99
|
+
private readonly rival;
|
|
100
|
+
private readonly options?;
|
|
101
|
+
/** Pend calls observed (including the intercepted one). */
|
|
102
|
+
pendCalls: number;
|
|
103
|
+
/** Commit calls observed. */
|
|
104
|
+
commitCalls: number;
|
|
105
|
+
/** The 1-based pend call index the rival fired on; undefined if it never fired. */
|
|
106
|
+
firedAtCall?: number;
|
|
107
|
+
/** How many times the rival ran. Latched to at most 1 — a second firing would collide with the
|
|
108
|
+
* loser's now-pending blocks and the transaction under test could never win. */
|
|
109
|
+
rivalRuns: number;
|
|
110
|
+
constructor(inner: TestTransactor, rival: RivalWrite, options?: CompetingWriterOptions | undefined);
|
|
111
|
+
pend(request: PendRequest): Promise<PendResult>;
|
|
112
|
+
commit(request: CommitRequest): Promise<CommitResult>;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Durably commit a conflicting change to a tree collection: opens a SECOND {@link Tree} over the
|
|
116
|
+
* same transactor + collection id and replaces `entries` through it, producing a real log entry
|
|
117
|
+
* and a real revision bump — the durable competitor a {@link CompetingWriterTransactor} needs.
|
|
118
|
+
*
|
|
119
|
+
* `Tree.replace` is act + `updateAndSync`, i.e. a full commit through the single-collection sync
|
|
120
|
+
* path, so the rival's write is indistinguishable from any other client's.
|
|
121
|
+
*
|
|
122
|
+
* Pass the UNWRAPPED transactor (that is what {@link RivalWrite} receives).
|
|
123
|
+
*
|
|
124
|
+
* NOTE: opens the rival tree at the DEFAULT node capacity (64), because fan-out is not persisted
|
|
125
|
+
* in the collection header (see Tree.createOrOpen's `nodeCapacity` note). Fine while every rival
|
|
126
|
+
* race is between default-fan-out trees; if a test ever needs to race a small-capacity tree, add a
|
|
127
|
+
* capacity parameter here and pass the same value both sides, or the two writers will split nodes
|
|
128
|
+
* at different fan-outs.
|
|
129
|
+
*/
|
|
130
|
+
export declare function commitRivalTreeWrite<TKey, TEntry>(inner: ITransactor, collectionId: CollectionId, keyFromEntry: (entry: TEntry) => TKey, entries: TreeReplaceAction<TKey, TEntry>): Promise<void>;
|
|
44
131
|
//# sourceMappingURL=test-transactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-transactor.d.ts","sourceRoot":"","sources":["../../../src/testing/test-transactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"test-transactor.d.ts","sourceRoot":"","sources":["../../../src/testing/test-transactor.ts"],"names":[],"mappings":"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"}
|