@indigoai-us/hq-cloud 6.18.44-alpha.18 → 6.18.44-alpha.19
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/bin/sync-runner-watch-loop.d.ts +0 -18
- package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
- package/dist/bin/sync-runner-watch-loop.js +6 -75
- package/dist/bin/sync-runner-watch-loop.js.map +1 -1
- package/dist/bin/sync-runner.test.js +0 -86
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -113,16 +113,6 @@ export declare class CooperativePassScheduler<T> {
|
|
|
113
113
|
private handoffBacklog;
|
|
114
114
|
private handoffDeferredAt;
|
|
115
115
|
private handoffAdmitted;
|
|
116
|
-
/**
|
|
117
|
-
* How many cap checkpoints are inside `applyAtCheckpoint`. The CPU yield
|
|
118
|
-
* sleeps between hand-offs; those sleeps are not an admission boundary.
|
|
119
|
-
* Depth stays above zero for the whole yield so a receiver pull that
|
|
120
|
-
* arrives during a sleep starts immediately instead of waiting for the
|
|
121
|
-
* next timer slice.
|
|
122
|
-
*/
|
|
123
|
-
private capYieldDepth;
|
|
124
|
-
/** Set when realtime work starts at any point inside the current cap yield. */
|
|
125
|
-
private capYieldAdmitted;
|
|
126
116
|
private occupantEpoch;
|
|
127
117
|
private occupantWaiters;
|
|
128
118
|
private activeFastRealtime;
|
|
@@ -220,14 +210,6 @@ export declare class CooperativePassScheduler<T> {
|
|
|
220
210
|
*/
|
|
221
211
|
private admitHandoffBacklog;
|
|
222
212
|
private canAdmitRealtimeOccupant;
|
|
223
|
-
private waitForRealtimeOccupants;
|
|
224
|
-
/**
|
|
225
|
-
* A cap checkpoint is already a durable boundary. Keep the hand-off open
|
|
226
|
-
* for the whole yield, including the throttle sleep between slices, and
|
|
227
|
-
* do not bill realtime work admitted there to the chore.
|
|
228
|
-
*/
|
|
229
|
-
private enterCapYield;
|
|
230
|
-
private exitCapYield;
|
|
231
213
|
private drainRealtime;
|
|
232
214
|
private checkpoint;
|
|
233
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"AAmCA,OAAO,EAML,KAAK,UAAU,EAEf,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAUL,WAAW,EAYZ,MAAM,eAAe,CAAC;AAevB,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AASlC,OAAO,EACL,UAAU,EA0CX,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAEL,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,eAAe,EAIrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAahD,OAAO,KAAK,EACV,yBAAyB,EACzB,SAAS,EAET,cAAc,EACd,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAI1B,+EAA+E;AAC/E,eAAO,MAAM,mCAAmC,OAAQ,CAAC;AACzD,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AACtD;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,QACI,CAAC;AAChD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAiC,CAAC;AACtE;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,+EAA+E;AAC/E,eAAO,MAAM,qCAAqC,QAA4B,CAAC;AAK/E,wBAAgB,wCAAwC,CACtD,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,IAAI,CAEN;AAED,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,IAAI,CAEN;AAUD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,QAAQ,CAAC,SAAS,QAAQ;gBACd,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,SAAS,QAAQ;gBACd,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACxD,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CASA;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,eAAe,EAAE,GAChC,uBAAuB,GAAG,SAAS,CAkBrC;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpD,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,gBAAgB,EAC3B,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAGT;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,UAAU,EAAE,yBAAyB,CAAC;IACtC,iDAAiD;IACjD,MAAM,EAAE,WAAW,CAAC;CACrB;AAwBD;;;;;;;;GAQG;AACH,qBAAa,wBAAwB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -209,16 +209,6 @@ export class CooperativePassScheduler {
|
|
|
209
209
|
handoffBacklog = null;
|
|
210
210
|
handoffDeferredAt = null;
|
|
211
211
|
handoffAdmitted = false;
|
|
212
|
-
/**
|
|
213
|
-
* How many cap checkpoints are inside `applyAtCheckpoint`. The CPU yield
|
|
214
|
-
* sleeps between hand-offs; those sleeps are not an admission boundary.
|
|
215
|
-
* Depth stays above zero for the whole yield so a receiver pull that
|
|
216
|
-
* arrives during a sleep starts immediately instead of waiting for the
|
|
217
|
-
* next timer slice.
|
|
218
|
-
*/
|
|
219
|
-
capYieldDepth = 0;
|
|
220
|
-
/** Set when realtime work starts at any point inside the current cap yield. */
|
|
221
|
-
capYieldAdmitted = false;
|
|
222
212
|
occupantEpoch = 0;
|
|
223
213
|
occupantWaiters = [];
|
|
224
214
|
// Scoped fast realtime work has the established in-process lock exception
|
|
@@ -786,8 +776,6 @@ export class CooperativePassScheduler {
|
|
|
786
776
|
this.clearAdmission(entry);
|
|
787
777
|
this.realtimeOccupants.add(entry);
|
|
788
778
|
this.handoffAdmitted = true;
|
|
789
|
-
if (this.capYieldDepth > 0)
|
|
790
|
-
this.capYieldAdmitted = true;
|
|
791
779
|
let running;
|
|
792
780
|
try {
|
|
793
781
|
running = this.execute(entry);
|
|
@@ -861,44 +849,11 @@ export class CooperativePassScheduler {
|
|
|
861
849
|
return true;
|
|
862
850
|
return ![...this.realtimeOccupants].some((occupant) => occupant.transferDirection === entry.transferDirection);
|
|
863
851
|
}
|
|
864
|
-
async waitForRealtimeOccupants() {
|
|
865
|
-
while (this.realtimeOccupants.size > 0) {
|
|
866
|
-
const seen = this.occupantEpoch;
|
|
867
|
-
if (this.realtimeOccupants.size === 0)
|
|
868
|
-
break;
|
|
869
|
-
await this.waitOccupantChange(seen);
|
|
870
|
-
}
|
|
871
|
-
}
|
|
872
|
-
/**
|
|
873
|
-
* A cap checkpoint is already a durable boundary. Keep the hand-off open
|
|
874
|
-
* for the whole yield, including the throttle sleep between slices, and
|
|
875
|
-
* do not bill realtime work admitted there to the chore.
|
|
876
|
-
*/
|
|
877
|
-
enterCapYield() {
|
|
878
|
-
this.capYieldDepth += 1;
|
|
879
|
-
if (this.capYieldDepth !== 1)
|
|
880
|
-
return;
|
|
881
|
-
this._handoffActive = true;
|
|
882
|
-
if (this.handoffDeferredAt === null)
|
|
883
|
-
this.handoffDeferredAt = this.now();
|
|
884
|
-
this.options.caps?.suspendForHandoff();
|
|
885
|
-
}
|
|
886
|
-
async exitCapYield() {
|
|
887
|
-
this.capYieldDepth = Math.max(0, this.capYieldDepth - 1);
|
|
888
|
-
if (this.capYieldDepth > 0)
|
|
889
|
-
return;
|
|
890
|
-
await this.waitForRealtimeOccupants();
|
|
891
|
-
this._handoffActive = false;
|
|
892
|
-
this.handoffDeferredAt = null;
|
|
893
|
-
this.handoffBacklog = null;
|
|
894
|
-
this.options.caps?.resumeAfterHandoff();
|
|
895
|
-
}
|
|
896
852
|
async drainRealtime(entry) {
|
|
897
|
-
const realtimePending = this.pending.some((pending) => pending.workClass === "realtime");
|
|
898
853
|
if (this.stopped ||
|
|
899
854
|
entry.workClass !== "chore" ||
|
|
900
855
|
this.active !== entry ||
|
|
901
|
-
|
|
856
|
+
!this.pending.some((pending) => pending.workClass === "realtime")) {
|
|
902
857
|
return false;
|
|
903
858
|
}
|
|
904
859
|
// `entry` is suspended at a caller-declared durable boundary. The burst
|
|
@@ -909,12 +864,7 @@ export class CooperativePassScheduler {
|
|
|
909
864
|
this._handoffActive = true;
|
|
910
865
|
this.handoffDeferredAt = this.now();
|
|
911
866
|
this.handoffAdmitted = false;
|
|
912
|
-
|
|
913
|
-
// the same yield is still running. Keep its single-writer reservation
|
|
914
|
-
// until that pass settles; startRealtimeOccupant clears it then.
|
|
915
|
-
if (this.handoffBacklog !== null && !this.realtimeOccupants.has(this.handoffBacklog)) {
|
|
916
|
-
this.handoffBacklog = null;
|
|
917
|
-
}
|
|
867
|
+
this.handoffBacklog = null;
|
|
918
868
|
this.options.caps?.suspendForHandoff();
|
|
919
869
|
try {
|
|
920
870
|
this.admitHandoffBacklog();
|
|
@@ -940,22 +890,14 @@ export class CooperativePassScheduler {
|
|
|
940
890
|
}
|
|
941
891
|
}
|
|
942
892
|
finally {
|
|
893
|
+
this._handoffActive = false;
|
|
894
|
+
this.handoffDeferredAt = null;
|
|
943
895
|
this.handoffBacklog = null;
|
|
944
|
-
if (this.capYieldDepth > 0) {
|
|
945
|
-
this._handoffActive = true;
|
|
946
|
-
if (this.handoffDeferredAt === null)
|
|
947
|
-
this.handoffDeferredAt = this.now();
|
|
948
|
-
}
|
|
949
|
-
else {
|
|
950
|
-
this._handoffActive = false;
|
|
951
|
-
this.handoffDeferredAt = null;
|
|
952
|
-
}
|
|
953
896
|
if (!this.stopped) {
|
|
954
897
|
this.active = entry;
|
|
955
898
|
this.armQueuedRealtime();
|
|
956
899
|
}
|
|
957
|
-
|
|
958
|
-
this.options.caps?.resumeAfterHandoff();
|
|
900
|
+
this.options.caps?.resumeAfterHandoff();
|
|
959
901
|
}
|
|
960
902
|
return this.handoffAdmitted;
|
|
961
903
|
}
|
|
@@ -966,18 +908,7 @@ export class CooperativePassScheduler {
|
|
|
966
908
|
const handedOff = await this.drainRealtime(entry);
|
|
967
909
|
const caps = this.options.caps;
|
|
968
910
|
if (caps && entry.resourceCap) {
|
|
969
|
-
|
|
970
|
-
this.capYieldAdmitted = false;
|
|
971
|
-
this.enterCapYield();
|
|
972
|
-
try {
|
|
973
|
-
await caps.applyAtCheckpoint(() => this.drainRealtime(entry));
|
|
974
|
-
}
|
|
975
|
-
finally {
|
|
976
|
-
await this.exitCapYield();
|
|
977
|
-
}
|
|
978
|
-
// Work admitted during the throttle sleep mutated durable state too, so
|
|
979
|
-
// callers must overlay journal deltas exactly as for the first drain.
|
|
980
|
-
return handedOff || this.capYieldAdmitted;
|
|
911
|
+
await caps.applyAtCheckpoint(() => this.drainRealtime(entry));
|
|
981
912
|
}
|
|
982
913
|
return handedOff;
|
|
983
914
|
}
|