@amalgm/live 0.2.81-main.41282338809 → 0.2.81-main.41285576091
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/records/rail-ports.d.ts +3 -2
- package/dist/records/rail-ports.d.ts.map +1 -1
- package/dist/records/rail.js +1 -1
- package/dist/records/rail.js.map +1 -1
- package/dist/records/unsent-count.d.ts +11 -4
- package/dist/records/unsent-count.d.ts.map +1 -1
- package/dist/records/unsent-count.js +39 -9
- package/dist/records/unsent-count.js.map +1 -1
- package/dist-cjs/records/rail.js +1 -1
- package/dist-cjs/records/rail.js.map +1 -1
- package/dist-cjs/records/unsent-count.js +39 -9
- package/dist-cjs/records/unsent-count.js.map +1 -1
- package/package.json +4 -4
|
@@ -178,8 +178,9 @@ export interface EntityRecordRailOptions {
|
|
|
178
178
|
readonly onOutboxAccepted?: (entityIds: readonly string[]) => void;
|
|
179
179
|
/** How many Outbox rows are pending, said once the rail starts (0
|
|
180
180
|
* included) and again whenever Record or a stamp changes it. Zero means
|
|
181
|
-
* the authority has acknowledged every record this computer made.
|
|
182
|
-
|
|
181
|
+
* the authority has acknowledged every record this computer made. Null
|
|
182
|
+
* means the Outbox cannot be read, so this computer cannot tell. */
|
|
183
|
+
readonly onUnsent?: (count: number | null) => void;
|
|
183
184
|
readonly onBackgroundError?: (error: unknown) => void;
|
|
184
185
|
}
|
|
185
186
|
//# sourceMappingURL=rail-ports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rail-ports.d.ts","sourceRoot":"","sources":["../../src/records/rail-ports.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rail-ports.d.ts","sourceRoot":"","sources":["../../src/records/rail-ports.ts"],"names":[],"mappings":"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"}
|
package/dist/records/rail.js
CHANGED
|
@@ -50,7 +50,7 @@ export class EntityRecordRail {
|
|
|
50
50
|
});
|
|
51
51
|
const onUnsent = options.onUnsent;
|
|
52
52
|
this.#unsent = onUnsent
|
|
53
|
-
? new UnsentCount({ read: () => options.store.countPending(), say: onUnsent, onError })
|
|
53
|
+
? new UnsentCount({ read: () => options.store.countPending(), say: onUnsent, onError, schedule: options.schedule })
|
|
54
54
|
: null;
|
|
55
55
|
}
|
|
56
56
|
/** Subscribe first and catch up from the durable cursors; Send starts
|
package/dist/records/rail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rail.js","sourceRoot":"","sources":["../../src/records/rail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,gBAAgB;IAClB,YAAY,CAAS;IACrB,MAAM,CAAwB;IAC9B,SAAS,CAAsC;IAC/C,iBAAiB,CAAyC;IAC1D,kBAAkB,CAA2B;IAC7C,QAAQ,CAAc;IACtB,KAAK,CAAW;IAChB,OAAO,CAAqB;IACrC,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,GAAyB,IAAI,CAAC;IAEvC,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAC/D,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,OAAO;SACR,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,QAAQ;YACrB,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"rail.js","sourceRoot":"","sources":["../../src/records/rail.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,17 +7,24 @@
|
|
|
7
7
|
* always one the rows held, never a running sum that could drift. Reads never
|
|
8
8
|
* overlap. A change heard during a read earns exactly one more read after it,
|
|
9
9
|
* so a burst of changes costs at most two reads and the last report follows
|
|
10
|
-
* the last change. A number equal to the one last said is not said again.
|
|
11
|
-
*
|
|
10
|
+
* the last change. A number equal to the one last said is not said again.
|
|
11
|
+
*
|
|
12
|
+
* A failed read is reported and says null, because this computer cannot tell
|
|
13
|
+
* what it holds unsent: a number said before the failure never stands for
|
|
14
|
+
* the Outbox after it. Null is said once while reads keep failing, and the
|
|
15
|
+
* Outbox is read again on the rail's backoff, or sooner on a change; the next
|
|
16
|
+
* successful read says its number even when it equals the one said before the
|
|
17
|
+
* failure. A failed report is reported, and the next change reads again. Once
|
|
12
18
|
* stopped, nothing more is said.
|
|
13
19
|
*/
|
|
14
|
-
import type { MaybePromise } from './rail-ports.js';
|
|
20
|
+
import type { EntityRecordSchedulePort, MaybePromise } from './rail-ports.js';
|
|
15
21
|
export declare class UnsentCount {
|
|
16
22
|
#private;
|
|
17
23
|
constructor(options: {
|
|
18
24
|
readonly read: () => MaybePromise<number>;
|
|
19
|
-
readonly say: (count: number) => void;
|
|
25
|
+
readonly say: (count: number | null) => void;
|
|
20
26
|
readonly onError: (error: unknown) => void;
|
|
27
|
+
readonly schedule: EntityRecordSchedulePort;
|
|
21
28
|
});
|
|
22
29
|
/** The Outbox may hold a different number of unsent rows now. */
|
|
23
30
|
changed(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsent-count.d.ts","sourceRoot":"","sources":["../../src/records/unsent-count.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unsent-count.d.ts","sourceRoot":"","sources":["../../src/records/unsent-count.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG9E,qBAAa,WAAW;;gBAWV,OAAO,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1C,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;QAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAC3C,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC7C;IAOD,iEAAiE;IACjE,OAAO,IAAI,IAAI;IAcf,qEAAqE;IAC/D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B5B"}
|
|
@@ -7,51 +7,81 @@
|
|
|
7
7
|
* always one the rows held, never a running sum that could drift. Reads never
|
|
8
8
|
* overlap. A change heard during a read earns exactly one more read after it,
|
|
9
9
|
* so a burst of changes costs at most two reads and the last report follows
|
|
10
|
-
* the last change. A number equal to the one last said is not said again.
|
|
11
|
-
*
|
|
10
|
+
* the last change. A number equal to the one last said is not said again.
|
|
11
|
+
*
|
|
12
|
+
* A failed read is reported and says null, because this computer cannot tell
|
|
13
|
+
* what it holds unsent: a number said before the failure never stands for
|
|
14
|
+
* the Outbox after it. Null is said once while reads keep failing, and the
|
|
15
|
+
* Outbox is read again on the rail's backoff, or sooner on a change; the next
|
|
16
|
+
* successful read says its number even when it equals the one said before the
|
|
17
|
+
* failure. A failed report is reported, and the next change reads again. Once
|
|
12
18
|
* stopped, nothing more is said.
|
|
13
19
|
*/
|
|
20
|
+
import { RetryClock } from './retry-clock.js';
|
|
14
21
|
export class UnsentCount {
|
|
15
22
|
#read;
|
|
16
23
|
#say;
|
|
17
24
|
#onError;
|
|
25
|
+
#retry;
|
|
18
26
|
#reading = null;
|
|
19
27
|
#again = false;
|
|
20
|
-
|
|
28
|
+
/** The last count said; undefined until the first report. */
|
|
29
|
+
#said = undefined;
|
|
21
30
|
#stopped = false;
|
|
22
31
|
constructor(options) {
|
|
23
32
|
this.#read = options.read;
|
|
24
33
|
this.#say = options.say;
|
|
25
34
|
this.#onError = options.onError;
|
|
35
|
+
this.#retry = new RetryClock(options.schedule);
|
|
26
36
|
}
|
|
27
37
|
/** The Outbox may hold a different number of unsent rows now. */
|
|
28
38
|
changed() {
|
|
29
39
|
if (this.#stopped)
|
|
30
40
|
return;
|
|
41
|
+
this.#retry.cancel();
|
|
31
42
|
if (this.#reading) {
|
|
32
43
|
this.#again = true;
|
|
33
44
|
return;
|
|
34
45
|
}
|
|
35
|
-
this.#reading = this.#readUntilQuiet().finally(() => {
|
|
46
|
+
this.#reading = this.#readUntilQuiet().finally(() => {
|
|
47
|
+
this.#reading = null;
|
|
48
|
+
// A change heard after the loop's last check, before this read ended.
|
|
49
|
+
if (this.#again)
|
|
50
|
+
this.changed();
|
|
51
|
+
});
|
|
36
52
|
}
|
|
37
53
|
/** Say nothing more, and resolve once the read in flight settles. */
|
|
38
54
|
async stop() {
|
|
39
55
|
this.#stopped = true;
|
|
56
|
+
this.#retry.cancel();
|
|
40
57
|
await this.#reading;
|
|
41
58
|
}
|
|
42
59
|
async #readUntilQuiet() {
|
|
43
60
|
do {
|
|
44
61
|
this.#again = false;
|
|
62
|
+
let count;
|
|
63
|
+
try {
|
|
64
|
+
count = await this.#read();
|
|
65
|
+
this.#retry.succeeded();
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (this.#stopped)
|
|
69
|
+
return;
|
|
70
|
+
this.#onError(error);
|
|
71
|
+
count = null;
|
|
72
|
+
}
|
|
73
|
+
if (this.#stopped)
|
|
74
|
+
return;
|
|
75
|
+
if (count === null && !this.#again)
|
|
76
|
+
this.#retry.arm(() => this.changed());
|
|
77
|
+
if (count === this.#said)
|
|
78
|
+
continue;
|
|
45
79
|
try {
|
|
46
|
-
const count = await this.#read();
|
|
47
|
-
if (this.#stopped || count === this.#said)
|
|
48
|
-
continue;
|
|
49
80
|
this.#say(count);
|
|
50
81
|
this.#said = count;
|
|
51
82
|
}
|
|
52
83
|
catch (error) {
|
|
53
|
-
|
|
54
|
-
this.#onError(error);
|
|
84
|
+
this.#onError(error);
|
|
55
85
|
}
|
|
56
86
|
} while (this.#again && !this.#stopped);
|
|
57
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsent-count.js","sourceRoot":"","sources":["../../src/records/unsent-count.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unsent-count.js","sourceRoot":"","sources":["../../src/records/unsent-count.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,WAAW;IACb,KAAK,CAA6B;IAClC,IAAI,CAAiC;IACrC,QAAQ,CAA2B;IACnC,MAAM,CAAa;IAC5B,QAAQ,GAAyB,IAAI,CAAC;IACtC,MAAM,GAAG,KAAK,CAAC;IACf,6DAA6D;IAC7D,KAAK,GAA8B,SAAS,CAAC;IAC7C,QAAQ,GAAG,KAAK,CAAC;IAEjB,YAAY,OAKX;QACC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,sEAAsE;YACtE,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,GAAG,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,KAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK;gBAAE,SAAS;YACnC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,CAAC;CACF"}
|
package/dist-cjs/records/rail.js
CHANGED
|
@@ -53,7 +53,7 @@ class EntityRecordRail {
|
|
|
53
53
|
});
|
|
54
54
|
const onUnsent = options.onUnsent;
|
|
55
55
|
this.#unsent = onUnsent
|
|
56
|
-
? new unsent_count_js_1.UnsentCount({ read: () => options.store.countPending(), say: onUnsent, onError })
|
|
56
|
+
? new unsent_count_js_1.UnsentCount({ read: () => options.store.countPending(), say: onUnsent, onError, schedule: options.schedule })
|
|
57
57
|
: null;
|
|
58
58
|
}
|
|
59
59
|
/** Subscribe first and catch up from the durable cursors; Send starts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rail.js","sourceRoot":"","sources":["../../src/records/rail.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAQH,uDAAgD;AAChD,iDAA0C;AAC1C,uDAAgD;AAEhD,MAAa,gBAAgB;IAClB,YAAY,CAAS;IACrB,MAAM,CAAwB;IAC9B,SAAS,CAAsC;IAC/C,iBAAiB,CAAyC;IAC1D,kBAAkB,CAA2B;IAC7C,QAAQ,CAAc;IACtB,KAAK,CAAW;IAChB,OAAO,CAAqB;IACrC,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,GAAyB,IAAI,CAAC;IAEvC,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,6BAAW,CAAC;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAC/D,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,uBAAQ,CAAC;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,OAAO;SACR,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,QAAQ;YACrB,CAAC,CAAC,IAAI,6BAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"rail.js","sourceRoot":"","sources":["../../src/records/rail.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,53 +8,83 @@
|
|
|
8
8
|
* always one the rows held, never a running sum that could drift. Reads never
|
|
9
9
|
* overlap. A change heard during a read earns exactly one more read after it,
|
|
10
10
|
* so a burst of changes costs at most two reads and the last report follows
|
|
11
|
-
* the last change. A number equal to the one last said is not said again.
|
|
12
|
-
*
|
|
11
|
+
* the last change. A number equal to the one last said is not said again.
|
|
12
|
+
*
|
|
13
|
+
* A failed read is reported and says null, because this computer cannot tell
|
|
14
|
+
* what it holds unsent: a number said before the failure never stands for
|
|
15
|
+
* the Outbox after it. Null is said once while reads keep failing, and the
|
|
16
|
+
* Outbox is read again on the rail's backoff, or sooner on a change; the next
|
|
17
|
+
* successful read says its number even when it equals the one said before the
|
|
18
|
+
* failure. A failed report is reported, and the next change reads again. Once
|
|
13
19
|
* stopped, nothing more is said.
|
|
14
20
|
*/
|
|
15
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
22
|
exports.UnsentCount = void 0;
|
|
23
|
+
const retry_clock_js_1 = require("./retry-clock.js");
|
|
17
24
|
class UnsentCount {
|
|
18
25
|
#read;
|
|
19
26
|
#say;
|
|
20
27
|
#onError;
|
|
28
|
+
#retry;
|
|
21
29
|
#reading = null;
|
|
22
30
|
#again = false;
|
|
23
|
-
|
|
31
|
+
/** The last count said; undefined until the first report. */
|
|
32
|
+
#said = undefined;
|
|
24
33
|
#stopped = false;
|
|
25
34
|
constructor(options) {
|
|
26
35
|
this.#read = options.read;
|
|
27
36
|
this.#say = options.say;
|
|
28
37
|
this.#onError = options.onError;
|
|
38
|
+
this.#retry = new retry_clock_js_1.RetryClock(options.schedule);
|
|
29
39
|
}
|
|
30
40
|
/** The Outbox may hold a different number of unsent rows now. */
|
|
31
41
|
changed() {
|
|
32
42
|
if (this.#stopped)
|
|
33
43
|
return;
|
|
44
|
+
this.#retry.cancel();
|
|
34
45
|
if (this.#reading) {
|
|
35
46
|
this.#again = true;
|
|
36
47
|
return;
|
|
37
48
|
}
|
|
38
|
-
this.#reading = this.#readUntilQuiet().finally(() => {
|
|
49
|
+
this.#reading = this.#readUntilQuiet().finally(() => {
|
|
50
|
+
this.#reading = null;
|
|
51
|
+
// A change heard after the loop's last check, before this read ended.
|
|
52
|
+
if (this.#again)
|
|
53
|
+
this.changed();
|
|
54
|
+
});
|
|
39
55
|
}
|
|
40
56
|
/** Say nothing more, and resolve once the read in flight settles. */
|
|
41
57
|
async stop() {
|
|
42
58
|
this.#stopped = true;
|
|
59
|
+
this.#retry.cancel();
|
|
43
60
|
await this.#reading;
|
|
44
61
|
}
|
|
45
62
|
async #readUntilQuiet() {
|
|
46
63
|
do {
|
|
47
64
|
this.#again = false;
|
|
65
|
+
let count;
|
|
66
|
+
try {
|
|
67
|
+
count = await this.#read();
|
|
68
|
+
this.#retry.succeeded();
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
if (this.#stopped)
|
|
72
|
+
return;
|
|
73
|
+
this.#onError(error);
|
|
74
|
+
count = null;
|
|
75
|
+
}
|
|
76
|
+
if (this.#stopped)
|
|
77
|
+
return;
|
|
78
|
+
if (count === null && !this.#again)
|
|
79
|
+
this.#retry.arm(() => this.changed());
|
|
80
|
+
if (count === this.#said)
|
|
81
|
+
continue;
|
|
48
82
|
try {
|
|
49
|
-
const count = await this.#read();
|
|
50
|
-
if (this.#stopped || count === this.#said)
|
|
51
|
-
continue;
|
|
52
83
|
this.#say(count);
|
|
53
84
|
this.#said = count;
|
|
54
85
|
}
|
|
55
86
|
catch (error) {
|
|
56
|
-
|
|
57
|
-
this.#onError(error);
|
|
87
|
+
this.#onError(error);
|
|
58
88
|
}
|
|
59
89
|
} while (this.#again && !this.#stopped);
|
|
60
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsent-count.js","sourceRoot":"","sources":["../../src/records/unsent-count.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"unsent-count.js","sourceRoot":"","sources":["../../src/records/unsent-count.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAGH,qDAA8C;AAE9C,MAAa,WAAW;IACb,KAAK,CAA6B;IAClC,IAAI,CAAiC;IACrC,QAAQ,CAA2B;IACnC,MAAM,CAAa;IAC5B,QAAQ,GAAyB,IAAI,CAAC;IACtC,MAAM,GAAG,KAAK,CAAC;IACf,6DAA6D;IAC7D,KAAK,GAA8B,SAAS,CAAC;IAC7C,QAAQ,GAAG,KAAK,CAAC;IAEjB,YAAY,OAKX;QACC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,sEAAsE;YACtE,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,GAAG,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,KAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK;gBAAE,SAAS;YACnC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,CAAC;CACF;AApED,kCAoEC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amalgm/live",
|
|
3
|
-
"version": "0.2.81-main.
|
|
3
|
+
"version": "0.2.81-main.41285576091",
|
|
4
4
|
"description": "Portable realtime SDK for Amalgm — wire contracts, mutation discipline, and delivery state machines behind host-injected adapters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist-cjs/index.js",
|
|
@@ -137,11 +137,11 @@
|
|
|
137
137
|
"dependencies": {
|
|
138
138
|
"@amalgm/core": "0.5.1-main.41264319540"
|
|
139
139
|
},
|
|
140
|
-
"gitHead": "
|
|
140
|
+
"gitHead": "751713d4f1a956e4eb3f68bd5026ef4ff7997c3e",
|
|
141
141
|
"amalgmSource": {
|
|
142
142
|
"repository": "amalgm-inc/amalgm-live",
|
|
143
143
|
"branch": "main",
|
|
144
|
-
"commit": "
|
|
145
|
-
"occurrence": "
|
|
144
|
+
"commit": "751713d4f1a956e4eb3f68bd5026ef4ff7997c3e",
|
|
145
|
+
"occurrence": "41285576091"
|
|
146
146
|
}
|
|
147
147
|
}
|