@resonatehq/sdk 0.8.1 → 0.8.3
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/dev/network.d.ts +13 -6
- package/dist/dev/network.d.ts.map +1 -1
- package/dist/dev/network.js +32 -17
- package/dist/dev/network.js.map +1 -1
- package/dist/dev/server.d.ts +2 -1
- package/dist/dev/server.d.ts.map +1 -1
- package/dist/dev/server.js +42 -51
- package/dist/dev/server.js.map +1 -1
- package/dist/sim/example-1.js +9 -7
- package/dist/sim/example-1.js.map +1 -1
- package/dist/sim/example-2.js +9 -7
- package/dist/sim/example-2.js.map +1 -1
- package/dist/sim/example-3.js +9 -7
- package/dist/sim/example-3.js.map +1 -1
- package/dist/sim/main.d.ts.map +1 -1
- package/dist/sim/main.js +5 -4
- package/dist/sim/main.js.map +1 -1
- package/dist/sim/src/server.d.ts.map +1 -1
- package/dist/sim/src/worker.d.ts +2 -1
- package/dist/sim/src/worker.d.ts.map +1 -1
- package/dist/sim/src/worker.js +29 -14
- package/dist/sim/src/worker.js.map +1 -1
- package/dist/src/computation.d.ts +4 -3
- package/dist/src/computation.d.ts.map +1 -1
- package/dist/src/computation.js +53 -20
- package/dist/src/computation.js.map +1 -1
- package/dist/src/context.d.ts +27 -11
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +68 -33
- package/dist/src/context.js.map +1 -1
- package/dist/src/core.d.ts +5 -5
- package/dist/src/core.d.ts.map +1 -1
- package/dist/src/core.js +11 -11
- package/dist/src/core.js.map +1 -1
- package/dist/src/coroutine.d.ts.map +1 -1
- package/dist/src/coroutine.js +41 -27
- package/dist/src/coroutine.js.map +1 -1
- package/dist/src/decorator.d.ts +3 -3
- package/dist/src/decorator.d.ts.map +1 -1
- package/dist/src/decorator.js +4 -4
- package/dist/src/decorator.js.map +1 -1
- package/dist/src/encoder.d.ts +12 -0
- package/dist/src/encoder.d.ts.map +1 -0
- package/dist/src/encoder.js +107 -0
- package/dist/src/encoder.js.map +1 -0
- package/dist/src/exceptions.d.ts +35 -0
- package/dist/src/exceptions.d.ts.map +1 -0
- package/dist/src/exceptions.js +75 -0
- package/dist/src/exceptions.js.map +1 -0
- package/dist/src/handler.d.ts +18 -15
- package/dist/src/handler.d.ts.map +1 -1
- package/dist/src/handler.js +141 -39
- package/dist/src/handler.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/network/network.d.ts +32 -16
- package/dist/src/network/network.d.ts.map +1 -1
- package/dist/src/network/remote.d.ts +26 -36
- package/dist/src/network/remote.d.ts.map +1 -1
- package/dist/src/network/remote.js +156 -193
- package/dist/src/network/remote.js.map +1 -1
- package/dist/src/processor/processor.d.ts +2 -2
- package/dist/src/processor/processor.d.ts.map +1 -1
- package/dist/src/processor/processor.js +8 -4
- package/dist/src/processor/processor.js.map +1 -1
- package/dist/src/promises.d.ts +19 -10
- package/dist/src/promises.d.ts.map +1 -1
- package/dist/src/promises.js +38 -26
- package/dist/src/promises.js.map +1 -1
- package/dist/src/registry.d.ts +3 -4
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +25 -49
- package/dist/src/registry.js.map +1 -1
- package/dist/src/resonate-inner.d.ts +8 -5
- package/dist/src/resonate-inner.d.ts.map +1 -1
- package/dist/src/resonate-inner.js +8 -6
- package/dist/src/resonate-inner.js.map +1 -1
- package/dist/src/resonate.d.ts +223 -22
- package/dist/src/resonate.d.ts.map +1 -1
- package/dist/src/resonate.js +277 -153
- package/dist/src/resonate.js.map +1 -1
- package/dist/src/schedules.d.ts +3 -2
- package/dist/src/schedules.d.ts.map +1 -1
- package/dist/src/schedules.js +2 -2
- package/dist/src/schedules.js.map +1 -1
- package/dist/src/types.d.ts +4 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/sim/example-2.js
CHANGED
|
@@ -33,12 +33,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const server_1 = require("./src/server");
|
|
37
|
-
const simulator_1 = require("./src/simulator");
|
|
38
|
-
const worker_1 = require("./src/worker");
|
|
39
36
|
const clock_1 = require("../src/clock");
|
|
37
|
+
const encoder_1 = require("../src/encoder");
|
|
40
38
|
const registry_1 = require("../src/registry");
|
|
41
39
|
const util = __importStar(require("../src/util"));
|
|
40
|
+
const server_1 = require("./src/server");
|
|
41
|
+
const simulator_1 = require("./src/simulator");
|
|
42
|
+
const worker_1 = require("./src/worker");
|
|
42
43
|
// Function definition
|
|
43
44
|
function* fibonacci(ctx, n) {
|
|
44
45
|
if (n <= 1) {
|
|
@@ -52,6 +53,7 @@ const options = { seed: 0, steps: 1000, randomDelay: 0, dropProb: 0, duplProb: 0
|
|
|
52
53
|
// Run Simulation
|
|
53
54
|
const rnd = new simulator_1.Random(options.seed);
|
|
54
55
|
const clock = new clock_1.StepClock();
|
|
56
|
+
const encoder = new encoder_1.JsonEncoder();
|
|
55
57
|
const registry = new registry_1.Registry();
|
|
56
58
|
registry.add(fibonacci);
|
|
57
59
|
const sim = new simulator_1.Simulator(rnd, {
|
|
@@ -60,9 +62,9 @@ const sim = new simulator_1.Simulator(rnd, {
|
|
|
60
62
|
duplProb: options.duplProb,
|
|
61
63
|
});
|
|
62
64
|
const server = new server_1.ServerProcess(clock, "server");
|
|
63
|
-
const worker1 = new worker_1.WorkerProcess(rnd, clock, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-1", "default");
|
|
64
|
-
const worker2 = new worker_1.WorkerProcess(rnd, clock, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-2", "default");
|
|
65
|
-
const worker3 = new worker_1.WorkerProcess(rnd, clock, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-3", "default");
|
|
65
|
+
const worker1 = new worker_1.WorkerProcess(rnd, clock, encoder, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-1", "default");
|
|
66
|
+
const worker2 = new worker_1.WorkerProcess(rnd, clock, encoder, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-2", "default");
|
|
67
|
+
const worker3 = new worker_1.WorkerProcess(rnd, clock, encoder, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-3", "default");
|
|
66
68
|
const workers = [worker1, worker2, worker3];
|
|
67
69
|
sim.register(server);
|
|
68
70
|
for (const worker of workers) {
|
|
@@ -77,7 +79,7 @@ sim.delay(0, () => {
|
|
|
77
79
|
timeout: 10000000000,
|
|
78
80
|
iKey: id,
|
|
79
81
|
tags: { "resonate:invoke": "local://any@default" },
|
|
80
|
-
param: { func: "fibonacci", args: [n], version: 1 },
|
|
82
|
+
param: encoder.encode({ func: "fibonacci", args: [n], version: 1 }),
|
|
81
83
|
}, { requ: true, correlationId: 1 });
|
|
82
84
|
sim.send(msg);
|
|
83
85
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-2.js","sourceRoot":"","sources":["../../sim/example-2.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"example-2.js","sourceRoot":"","sources":["../../sim/example-2.ts"],"names":[],"mappings":"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"}
|
package/dist/sim/example-3.js
CHANGED
|
@@ -33,12 +33,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const server_1 = require("./src/server");
|
|
37
|
-
const simulator_1 = require("./src/simulator");
|
|
38
|
-
const worker_1 = require("./src/worker");
|
|
39
36
|
const clock_1 = require("../src/clock");
|
|
37
|
+
const encoder_1 = require("../src/encoder");
|
|
40
38
|
const registry_1 = require("../src/registry");
|
|
41
39
|
const util = __importStar(require("../src/util"));
|
|
40
|
+
const server_1 = require("./src/server");
|
|
41
|
+
const simulator_1 = require("./src/simulator");
|
|
42
|
+
const worker_1 = require("./src/worker");
|
|
42
43
|
// Function definition
|
|
43
44
|
function* fibonacci(ctx, n) {
|
|
44
45
|
if (n <= 1) {
|
|
@@ -52,6 +53,7 @@ const options = { seed: 0, steps: 100, randomDelay: 0, dropProb: 0, duplProb: 0,
|
|
|
52
53
|
// Run Simulation
|
|
53
54
|
const rnd = new simulator_1.Random(options.seed);
|
|
54
55
|
const clock = new clock_1.StepClock();
|
|
56
|
+
const encoder = new encoder_1.JsonEncoder();
|
|
55
57
|
const registry = new registry_1.Registry();
|
|
56
58
|
registry.add(fibonacci);
|
|
57
59
|
const sim = new simulator_1.Simulator(rnd, {
|
|
@@ -60,9 +62,9 @@ const sim = new simulator_1.Simulator(rnd, {
|
|
|
60
62
|
duplProb: options.duplProb,
|
|
61
63
|
});
|
|
62
64
|
const server = new server_1.ServerProcess(clock, "server");
|
|
63
|
-
const worker1 = new worker_1.WorkerProcess(rnd, clock, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-1", "default");
|
|
64
|
-
const worker2 = new worker_1.WorkerProcess(rnd, clock, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-2", "default");
|
|
65
|
-
const worker3 = new worker_1.WorkerProcess(rnd, clock, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-3", "default");
|
|
65
|
+
const worker1 = new worker_1.WorkerProcess(rnd, clock, encoder, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-1", "default");
|
|
66
|
+
const worker2 = new worker_1.WorkerProcess(rnd, clock, encoder, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-2", "default");
|
|
67
|
+
const worker3 = new worker_1.WorkerProcess(rnd, clock, encoder, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, "worker-3", "default");
|
|
66
68
|
const workers = [worker1, worker2, worker3];
|
|
67
69
|
sim.register(server);
|
|
68
70
|
for (const worker of workers) {
|
|
@@ -77,7 +79,7 @@ sim.delay(0, () => {
|
|
|
77
79
|
timeout: 10000000000,
|
|
78
80
|
iKey: id,
|
|
79
81
|
tags: { "resonate:invoke": "local://any@default" },
|
|
80
|
-
param: { func: "fibonacci", args: [n], version: 1 },
|
|
82
|
+
param: encoder.encode({ func: "fibonacci", args: [n], version: 1 }),
|
|
81
83
|
}, { requ: true, correlationId: 1 });
|
|
82
84
|
sim.send(msg);
|
|
83
85
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-3.js","sourceRoot":"","sources":["../../sim/example-3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"example-3.js","sourceRoot":"","sources":["../../sim/example-3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAyC;AAEzC,4CAA6C;AAE7C,8CAA2C;AAC3C,kDAAoC;AACpC,yCAA6C;AAC7C,+CAAsE;AACtE,yCAA6C;AAE7C,sBAAsB;AACtB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAoB,EAAE,CAAS;IACjD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7F,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7F,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,OAAO,GAOT,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAEvF,iBAAiB;AAEjB,MAAM,GAAG,GAAG,IAAI,kBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACrC,MAAM,KAAK,GAAG,IAAI,iBAAS,EAAE,CAAC;AAC9B,MAAM,OAAO,GAAG,IAAI,qBAAW,EAAE,CAAC;AAClC,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;AAChC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAExB,MAAM,GAAG,GAAG,IAAI,qBAAS,CAAC,GAAG,EAAE;IAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;CAC3B,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,sBAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAClD,MAAM,OAAO,GAAG,IAAI,sBAAa,CAC/B,GAAG,EACH,KAAK,EACL,OAAO,EACP,QAAQ,EACR,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAC1D,UAAU,EACV,SAAS,CACV,CAAC;AACF,MAAM,OAAO,GAAG,IAAI,sBAAa,CAC/B,GAAG,EACH,KAAK,EACL,OAAO,EACP,QAAQ,EACR,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAC1D,UAAU,EACV,SAAS,CACV,CAAC;AACF,MAAM,OAAO,GAAG,IAAI,sBAAa,CAC/B,GAAG,EACH,KAAK,EACL,OAAO,EACP,QAAQ,EACR,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAC1D,UAAU,EACV,SAAS,CACV,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAErD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;IAC7B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,GAAG,EAAE,CAAC;AACb,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;AAE5B,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE;IAChB,MAAM,GAAG,GAAG,IAAI,mBAAO,CACrB,IAAA,mBAAO,EAAC,aAAa,CAAC,EACtB,IAAA,mBAAO,EAAC,QAAQ,CAAC,EACjB;QACE,IAAI,EAAE,eAAe;QACrB,EAAE;QACF,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;QAClD,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KACpE,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CACjC,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAExB,SAAS,CAAC,CAAC,CAAS,EAAE,OAA+B,EAAE;IACrD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/sim/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../sim/main.ts"],"names":[],"mappings":"AAkKA,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,wBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../sim/main.ts"],"names":[],"mappings":"AAkKA,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,wBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,QAoGnC"}
|
package/dist/sim/main.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.run = run;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const clock_1 = require("../src/clock");
|
|
6
|
+
const encoder_1 = require("../src/encoder");
|
|
6
7
|
const registry_1 = require("../src/registry");
|
|
7
8
|
const server_1 = require("./src/server");
|
|
8
9
|
const simulator_1 = require("./src/simulator");
|
|
@@ -62,7 +63,6 @@ function* baz(ctx) {
|
|
|
62
63
|
return "baz";
|
|
63
64
|
}
|
|
64
65
|
const availableFuncs = { fibLfi: fibLfi, fibRfi: fibRfi, fibLfc: fibLfc, fibRfc: fibRfc, foo: foo, bar: bar, baz: baz };
|
|
65
|
-
// ------------------------------------------------------------------------------------------
|
|
66
66
|
// CLI
|
|
67
67
|
const program = new commander_1.Command();
|
|
68
68
|
program
|
|
@@ -144,6 +144,7 @@ function run(options) {
|
|
|
144
144
|
activateProb: options.activateProb ?? rnd.random(0.5),
|
|
145
145
|
});
|
|
146
146
|
const clock = new clock_1.StepClock();
|
|
147
|
+
const encoder = new encoder_1.JsonEncoder();
|
|
147
148
|
const registry = new registry_1.Registry();
|
|
148
149
|
for (const [name, func] of Object.entries(availableFuncs)) {
|
|
149
150
|
registry.add(func, name);
|
|
@@ -152,7 +153,7 @@ function run(options) {
|
|
|
152
153
|
sim.register(new server_1.ServerProcess(clock, "server"));
|
|
153
154
|
// workers
|
|
154
155
|
for (let i = 1; i <= 3; i++) {
|
|
155
|
-
sim.register(new worker_1.WorkerProcess(rnd, clock, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, `worker-${i}`, "default"));
|
|
156
|
+
sim.register(new worker_1.WorkerProcess(rnd, clock, encoder, registry, { charFlipProb: options.charFlipProb ?? rnd.random(0.05) }, `worker-${i}`, "default"));
|
|
156
157
|
}
|
|
157
158
|
sim.repeat(1, () => {
|
|
158
159
|
const i = sim.step - 1;
|
|
@@ -175,7 +176,7 @@ function run(options) {
|
|
|
175
176
|
timeout,
|
|
176
177
|
iKey: id,
|
|
177
178
|
tags: { "resonate:invoke": "local://any@default" },
|
|
178
|
-
param: { func: funcName, args: [rnd.randint(0, 20)], version: 1 },
|
|
179
|
+
param: encoder.encode({ func: funcName, args: [rnd.randint(0, 20)], version: 1 }),
|
|
179
180
|
}, { requ: true, correlationId: i });
|
|
180
181
|
break;
|
|
181
182
|
}
|
|
@@ -188,7 +189,7 @@ function run(options) {
|
|
|
188
189
|
timeout,
|
|
189
190
|
iKey: id,
|
|
190
191
|
tags: { "resonate:invoke": "local://any@default" },
|
|
191
|
-
param: { func: funcName, args: [], version: 1 },
|
|
192
|
+
param: encoder.encode({ func: funcName, args: [], version: 1 }),
|
|
192
193
|
}, { requ: true, correlationId: i });
|
|
193
194
|
break;
|
|
194
195
|
}
|
package/dist/sim/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../sim/main.ts"],"names":[],"mappings":";;AAgLA,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../sim/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../sim/src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE9F,OAAO,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../sim/src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE9F,OAAO,EAAyB,OAAO,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAc,SAAQ,OAAO;aAMtB,KAAK,EAAE,MAAM;IAL/B,OAAO,CAAC,KAAK,CAAY;IACzB,MAAM,EAAE,MAAM,CAAgB;gBAG5B,KAAK,EAAE,SAAS,EACA,KAAK,EAAE,MAAM;IAM/B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,cAAc,CAAC,EAAE;CAqC5G"}
|
package/dist/sim/src/worker.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { StepClock } from "../../src/clock";
|
|
2
|
+
import type { Encoder } from "../../src/encoder";
|
|
2
3
|
import type { Message as NetworkMessage, Request, Response } from "../../src/network/network";
|
|
3
4
|
import type { Registry } from "../../src/registry";
|
|
4
5
|
import { Message, Process, type Random } from "./simulator";
|
|
@@ -12,7 +13,7 @@ export declare class WorkerProcess extends Process {
|
|
|
12
13
|
private network;
|
|
13
14
|
private registry;
|
|
14
15
|
private resonate;
|
|
15
|
-
constructor(prng: Random, clock: StepClock, registry: Registry, { charFlipProb }: DeliveryOptions, iaddr: string, gaddr: string);
|
|
16
|
+
constructor(prng: Random, clock: StepClock, encoder: Encoder, registry: Registry, { charFlipProb }: DeliveryOptions, iaddr: string, gaddr: string);
|
|
16
17
|
tick(tick: number, messages: Message<{
|
|
17
18
|
err?: any;
|
|
18
19
|
res?: Response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../sim/src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../sim/src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,OAAO,KAAK,EAGV,OAAO,IAAI,cAAc,EACzB,OAAO,EACP,QAAQ,EAET,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,EAAgB,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,aAAa,CAAC;AAEnF,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAiID,qBAAa,aAAc,SAAQ,OAAO;aAYtB,KAAK,EAAE,MAAM;aACb,KAAK,EAAE,MAAM;IAZ/B,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAgB;gBAG9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,EAAE,YAAgB,EAAE,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM;IAsB/B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,cAAc,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE;CAc5G"}
|
package/dist/sim/src/worker.js
CHANGED
|
@@ -34,11 +34,28 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.WorkerProcess = void 0;
|
|
37
|
+
const exceptions_1 = require("../../src/exceptions");
|
|
37
38
|
const handler_1 = require("../../src/handler");
|
|
38
39
|
const heartbeat_1 = require("../../src/heartbeat");
|
|
39
40
|
const resonate_inner_1 = require("../../src/resonate-inner");
|
|
40
41
|
const util = __importStar(require("../../src/util"));
|
|
41
42
|
const simulator_1 = require("./simulator");
|
|
43
|
+
class SimulatedMessageSource {
|
|
44
|
+
maybeCorruptData;
|
|
45
|
+
subscriptions = { invoke: [], resume: [], notify: [] };
|
|
46
|
+
constructor(maybeCorruptData) {
|
|
47
|
+
this.maybeCorruptData = maybeCorruptData;
|
|
48
|
+
}
|
|
49
|
+
recv(msg) {
|
|
50
|
+
for (const callback of this.subscriptions[msg.type]) {
|
|
51
|
+
callback(this.maybeCorruptData(msg));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
subscribe(type, callback) {
|
|
55
|
+
this.subscriptions[type].push(callback);
|
|
56
|
+
}
|
|
57
|
+
stop() { }
|
|
58
|
+
}
|
|
42
59
|
class SimulatedNetwork {
|
|
43
60
|
source;
|
|
44
61
|
target;
|
|
@@ -48,12 +65,16 @@ class SimulatedNetwork {
|
|
|
48
65
|
deliveryOptions;
|
|
49
66
|
buffer = [];
|
|
50
67
|
callbacks = {};
|
|
51
|
-
|
|
68
|
+
messageSource;
|
|
52
69
|
constructor(prng, { charFlipProb = 0 }, source, target) {
|
|
53
70
|
this.source = source;
|
|
54
71
|
this.target = target;
|
|
55
72
|
this.prng = prng;
|
|
56
73
|
this.deliveryOptions = { charFlipProb };
|
|
74
|
+
this.messageSource = new SimulatedMessageSource((data) => this.maybeCorruptData(data));
|
|
75
|
+
}
|
|
76
|
+
getMessageSource() {
|
|
77
|
+
return this.messageSource;
|
|
57
78
|
}
|
|
58
79
|
send(req, cb) {
|
|
59
80
|
const message = new simulator_1.Message(this.source, this.target, req, {
|
|
@@ -62,19 +83,11 @@ class SimulatedNetwork {
|
|
|
62
83
|
});
|
|
63
84
|
const callback = (err, res) => {
|
|
64
85
|
util.assert(err || (res !== undefined && res.kind === req.kind), "res kind must match req kind");
|
|
65
|
-
cb(
|
|
86
|
+
cb(new exceptions_1.ResonateError("0", "Simulator", "Simulator error"), res);
|
|
66
87
|
};
|
|
67
88
|
this.callbacks[message.head.correlationId] = { callback, timeout: this.currentTime + 5000 };
|
|
68
89
|
this.buffer.push(message);
|
|
69
90
|
}
|
|
70
|
-
recv(msg) {
|
|
71
|
-
for (const callback of this.subscriptions[msg.type]) {
|
|
72
|
-
callback(this.maybeCorruptData(msg));
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
subscribe(type, callback) {
|
|
76
|
-
this.subscriptions[type].push(callback);
|
|
77
|
-
}
|
|
78
91
|
stop() { }
|
|
79
92
|
time(time) {
|
|
80
93
|
this.currentTime = time;
|
|
@@ -109,7 +122,7 @@ class SimulatedNetwork {
|
|
|
109
122
|
}
|
|
110
123
|
else {
|
|
111
124
|
util.assert(message.source.kind === this.target.kind && message.source.iaddr === this.target.iaddr);
|
|
112
|
-
this.recv(message.data);
|
|
125
|
+
this.messageSource.recv(message.data);
|
|
113
126
|
}
|
|
114
127
|
}
|
|
115
128
|
flush() {
|
|
@@ -140,7 +153,7 @@ class WorkerProcess extends simulator_1.Process {
|
|
|
140
153
|
network;
|
|
141
154
|
registry;
|
|
142
155
|
resonate;
|
|
143
|
-
constructor(prng, clock, registry, { charFlipProb = 0 }, iaddr, gaddr) {
|
|
156
|
+
constructor(prng, clock, encoder, registry, { charFlipProb = 0 }, iaddr, gaddr) {
|
|
144
157
|
super(iaddr, gaddr);
|
|
145
158
|
this.iaddr = iaddr;
|
|
146
159
|
this.gaddr = gaddr;
|
|
@@ -149,12 +162,14 @@ class WorkerProcess extends simulator_1.Process {
|
|
|
149
162
|
this.registry = registry;
|
|
150
163
|
this.resonate = new resonate_inner_1.ResonateInner({
|
|
151
164
|
unicast: `sim://uni@${gaddr}/${iaddr}`,
|
|
152
|
-
|
|
165
|
+
anycastPreference: `sim://any@${gaddr}/${iaddr}`,
|
|
166
|
+
anycastNoPreference: `sim://any@${gaddr}`,
|
|
153
167
|
pid: iaddr,
|
|
154
168
|
ttl: 5000,
|
|
155
169
|
clock: this.clock,
|
|
156
170
|
network: this.network,
|
|
157
|
-
handler: new handler_1.Handler(this.network),
|
|
171
|
+
handler: new handler_1.Handler(this.network, encoder),
|
|
172
|
+
messageSource: this.network.getMessageSource(),
|
|
158
173
|
registry: registry,
|
|
159
174
|
heartbeat: new heartbeat_1.NoopHeartbeat(),
|
|
160
175
|
dependencies: new Map(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../sim/src/worker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../sim/src/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { Task } from "resonate-inner";
|
|
2
1
|
import type { Clock } from "./clock";
|
|
3
2
|
import type { Handler } from "./handler";
|
|
4
3
|
import type { Heartbeat } from "./heartbeat";
|
|
5
4
|
import type { CallbackRecord, DurablePromiseRecord, Network } from "./network/network";
|
|
6
5
|
import { type Processor } from "./processor/processor";
|
|
7
6
|
import type { Registry } from "./registry";
|
|
7
|
+
import type { Task } from "./resonate-inner";
|
|
8
8
|
import type { Callback } from "./types";
|
|
9
9
|
export type Status = Completed | Suspended;
|
|
10
10
|
export type Completed = {
|
|
@@ -21,7 +21,8 @@ export declare class Computation {
|
|
|
21
21
|
private ttl;
|
|
22
22
|
private clock;
|
|
23
23
|
private unicast;
|
|
24
|
-
private
|
|
24
|
+
private anycastPreference;
|
|
25
|
+
private anycastNoPreference;
|
|
25
26
|
private network;
|
|
26
27
|
private handler;
|
|
27
28
|
private registry;
|
|
@@ -30,7 +31,7 @@ export declare class Computation {
|
|
|
30
31
|
private processor;
|
|
31
32
|
private seen;
|
|
32
33
|
private processing;
|
|
33
|
-
constructor(id: string, unicast: string,
|
|
34
|
+
constructor(id: string, unicast: string, anycastPreference: string, anycastNoPreference: string, pid: string, ttl: number, clock: Clock, network: Network, handler: Handler, registry: Registry, heartbeat: Heartbeat, dependencies: Map<string, any>, processor?: Processor);
|
|
34
35
|
process(task: Task, done: Callback<Status>): void;
|
|
35
36
|
private processClaimed;
|
|
36
37
|
private processGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computation.d.ts","sourceRoot":"","sources":["../../src/computation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"computation.d.ts","sourceRoot":"","sources":["../../src/computation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,SAAS,CAAC;AAG9C,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B,CAAC;AAEF,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,UAAU,CAAS;gBAGzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EACzB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,SAAS,CAAC,EAAE,SAAS;IAiBhB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IAuCjD,OAAO,CAAC,cAAc;IA6EtB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,iBAAiB;CAqD1B"}
|
package/dist/src/computation.js
CHANGED
|
@@ -32,10 +32,14 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.Computation = void 0;
|
|
37
40
|
const context_1 = require("./context");
|
|
38
41
|
const coroutine_1 = require("./coroutine");
|
|
42
|
+
const exceptions_1 = __importDefault(require("./exceptions"));
|
|
39
43
|
const nursery_1 = require("./nursery");
|
|
40
44
|
const processor_1 = require("./processor/processor");
|
|
41
45
|
const retries_1 = require("./retries");
|
|
@@ -46,7 +50,8 @@ class Computation {
|
|
|
46
50
|
ttl;
|
|
47
51
|
clock;
|
|
48
52
|
unicast;
|
|
49
|
-
|
|
53
|
+
anycastPreference;
|
|
54
|
+
anycastNoPreference;
|
|
50
55
|
network;
|
|
51
56
|
handler;
|
|
52
57
|
registry;
|
|
@@ -55,10 +60,11 @@ class Computation {
|
|
|
55
60
|
processor;
|
|
56
61
|
seen = new Set();
|
|
57
62
|
processing = false;
|
|
58
|
-
constructor(id, unicast,
|
|
63
|
+
constructor(id, unicast, anycastPreference, anycastNoPreference, pid, ttl, clock, network, handler, registry, heartbeat, dependencies, processor) {
|
|
59
64
|
this.id = id;
|
|
60
65
|
this.unicast = unicast;
|
|
61
|
-
this.
|
|
66
|
+
this.anycastPreference = anycastPreference;
|
|
67
|
+
this.anycastNoPreference = anycastNoPreference;
|
|
62
68
|
this.pid = pid;
|
|
63
69
|
this.ttl = ttl;
|
|
64
70
|
this.clock = clock;
|
|
@@ -91,8 +97,10 @@ class Computation {
|
|
|
91
97
|
processId: this.pid,
|
|
92
98
|
ttl: this.ttl,
|
|
93
99
|
}, (err, promise) => {
|
|
94
|
-
if (err)
|
|
100
|
+
if (err) {
|
|
101
|
+
err.log();
|
|
95
102
|
return doneProcessing(true);
|
|
103
|
+
}
|
|
96
104
|
util.assertDefined(promise);
|
|
97
105
|
this.processClaimed({ kind: "claimed", task: task.task, rootPromise: promise }, doneProcessing);
|
|
98
106
|
});
|
|
@@ -111,16 +119,25 @@ class Computation {
|
|
|
111
119
|
}
|
|
112
120
|
done(false, res);
|
|
113
121
|
};
|
|
114
|
-
if (
|
|
122
|
+
if (rootPromise.param === null ||
|
|
123
|
+
typeof rootPromise.param !== "object" ||
|
|
124
|
+
rootPromise.param.data === null ||
|
|
125
|
+
typeof rootPromise.param.data !== "object" ||
|
|
126
|
+
!("func" in rootPromise.param.data) ||
|
|
127
|
+
typeof rootPromise.param.data.func !== "string" ||
|
|
128
|
+
!("args" in rootPromise.param.data) ||
|
|
129
|
+
!Array.isArray(rootPromise.param.data.args) ||
|
|
130
|
+
("version" in rootPromise.param.data && typeof rootPromise.param.data.version !== "number")) {
|
|
115
131
|
// TODO: log something useful
|
|
116
132
|
return doneAndDropTaskIfErr(true);
|
|
117
133
|
}
|
|
118
|
-
|
|
119
|
-
const args = rootPromise.param.args;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
134
|
+
const registered = this.registry.get(rootPromise.param.data.func, rootPromise.param.data.version ?? 1);
|
|
135
|
+
const args = rootPromise.param.data.args;
|
|
136
|
+
// function must be registered
|
|
137
|
+
if (!registered) {
|
|
138
|
+
exceptions_1.default
|
|
139
|
+
.REGISTRY_FUNCTION_NOT_REGISTERED(rootPromise.param.data.func, rootPromise.param.data.version ?? 1)
|
|
140
|
+
.log();
|
|
124
141
|
return doneAndDropTaskIfErr(true);
|
|
125
142
|
}
|
|
126
143
|
// start heartbeat
|
|
@@ -131,15 +148,15 @@ class Computation {
|
|
|
131
148
|
return nursery.done(err);
|
|
132
149
|
}
|
|
133
150
|
this.network.send({ kind: "completeTask", id: task.id, counter: task.counter }, (err) => {
|
|
134
|
-
nursery.done(err, res);
|
|
151
|
+
nursery.done(!!err, res);
|
|
135
152
|
});
|
|
136
153
|
};
|
|
137
|
-
const ctx = context_1.InnerContext.root(this.id, rootPromise.timeout, util.isGeneratorFunction(func) ? new retries_1.Never() : new retries_1.Exponential(), this.clock, this.dependencies);
|
|
138
|
-
if (util.isGeneratorFunction(func)) {
|
|
139
|
-
this.processGenerator(nursery, ctx, func, args, done);
|
|
154
|
+
const ctx = context_1.InnerContext.root(this.id, this.anycastNoPreference, rootPromise.timeout, util.isGeneratorFunction(registered.func) ? new retries_1.Never() : new retries_1.Exponential(), this.clock, this.dependencies);
|
|
155
|
+
if (util.isGeneratorFunction(registered.func)) {
|
|
156
|
+
this.processGenerator(nursery, ctx, registered.func, args, done);
|
|
140
157
|
}
|
|
141
158
|
else {
|
|
142
|
-
this.processFunction(this.id, ctx, func, args, (err, promise) => {
|
|
159
|
+
this.processFunction(this.id, ctx, registered.func, args, (err, promise) => {
|
|
143
160
|
if (err)
|
|
144
161
|
return done(true);
|
|
145
162
|
util.assertDefined(promise);
|
|
@@ -174,10 +191,19 @@ class Computation {
|
|
|
174
191
|
kind: "completePromise",
|
|
175
192
|
id: id,
|
|
176
193
|
state: res.success ? "resolved" : "rejected",
|
|
177
|
-
value:
|
|
194
|
+
value: {
|
|
195
|
+
data: res.success ? res.value : res.error,
|
|
196
|
+
},
|
|
178
197
|
iKey: id,
|
|
179
198
|
strict: false,
|
|
180
|
-
},
|
|
199
|
+
}, (err, res) => {
|
|
200
|
+
if (err) {
|
|
201
|
+
err.log();
|
|
202
|
+
return done(true);
|
|
203
|
+
}
|
|
204
|
+
util.assertDefined(res);
|
|
205
|
+
done(false, res);
|
|
206
|
+
}, func.name), ctx.retryPolicy, ctx.timeout);
|
|
181
207
|
}
|
|
182
208
|
processLocalTodo(nursery, todo, done) {
|
|
183
209
|
for (const { id, ctx, func, args } of todo) {
|
|
@@ -202,8 +228,15 @@ class Computation {
|
|
|
202
228
|
promiseId: id,
|
|
203
229
|
rootPromiseId: this.id,
|
|
204
230
|
timeout: timeout,
|
|
205
|
-
recv: this.
|
|
206
|
-
},
|
|
231
|
+
recv: this.anycastPreference,
|
|
232
|
+
}, (err, res) => {
|
|
233
|
+
if (err) {
|
|
234
|
+
err.log();
|
|
235
|
+
return done(true);
|
|
236
|
+
}
|
|
237
|
+
util.assertDefined(res);
|
|
238
|
+
done(false, res);
|
|
239
|
+
}), (err, results) => {
|
|
207
240
|
if (err)
|
|
208
241
|
return done(err);
|
|
209
242
|
util.assertDefined(results);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computation.js","sourceRoot":"","sources":["../../src/computation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"computation.js","sourceRoot":"","sources":["../../src/computation.ts"],"names":[],"mappings":"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"}
|