@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.
Files changed (91) hide show
  1. package/dist/dev/network.d.ts +13 -6
  2. package/dist/dev/network.d.ts.map +1 -1
  3. package/dist/dev/network.js +32 -17
  4. package/dist/dev/network.js.map +1 -1
  5. package/dist/dev/server.d.ts +2 -1
  6. package/dist/dev/server.d.ts.map +1 -1
  7. package/dist/dev/server.js +42 -51
  8. package/dist/dev/server.js.map +1 -1
  9. package/dist/sim/example-1.js +9 -7
  10. package/dist/sim/example-1.js.map +1 -1
  11. package/dist/sim/example-2.js +9 -7
  12. package/dist/sim/example-2.js.map +1 -1
  13. package/dist/sim/example-3.js +9 -7
  14. package/dist/sim/example-3.js.map +1 -1
  15. package/dist/sim/main.d.ts.map +1 -1
  16. package/dist/sim/main.js +5 -4
  17. package/dist/sim/main.js.map +1 -1
  18. package/dist/sim/src/server.d.ts.map +1 -1
  19. package/dist/sim/src/worker.d.ts +2 -1
  20. package/dist/sim/src/worker.d.ts.map +1 -1
  21. package/dist/sim/src/worker.js +29 -14
  22. package/dist/sim/src/worker.js.map +1 -1
  23. package/dist/src/computation.d.ts +4 -3
  24. package/dist/src/computation.d.ts.map +1 -1
  25. package/dist/src/computation.js +53 -20
  26. package/dist/src/computation.js.map +1 -1
  27. package/dist/src/context.d.ts +27 -11
  28. package/dist/src/context.d.ts.map +1 -1
  29. package/dist/src/context.js +68 -33
  30. package/dist/src/context.js.map +1 -1
  31. package/dist/src/core.d.ts +5 -5
  32. package/dist/src/core.d.ts.map +1 -1
  33. package/dist/src/core.js +11 -11
  34. package/dist/src/core.js.map +1 -1
  35. package/dist/src/coroutine.d.ts.map +1 -1
  36. package/dist/src/coroutine.js +41 -27
  37. package/dist/src/coroutine.js.map +1 -1
  38. package/dist/src/decorator.d.ts +3 -3
  39. package/dist/src/decorator.d.ts.map +1 -1
  40. package/dist/src/decorator.js +4 -4
  41. package/dist/src/decorator.js.map +1 -1
  42. package/dist/src/encoder.d.ts +12 -0
  43. package/dist/src/encoder.d.ts.map +1 -0
  44. package/dist/src/encoder.js +107 -0
  45. package/dist/src/encoder.js.map +1 -0
  46. package/dist/src/exceptions.d.ts +35 -0
  47. package/dist/src/exceptions.d.ts.map +1 -0
  48. package/dist/src/exceptions.js +75 -0
  49. package/dist/src/exceptions.js.map +1 -0
  50. package/dist/src/handler.d.ts +18 -15
  51. package/dist/src/handler.d.ts.map +1 -1
  52. package/dist/src/handler.js +141 -39
  53. package/dist/src/handler.js.map +1 -1
  54. package/dist/src/index.d.ts +1 -1
  55. package/dist/src/index.d.ts.map +1 -1
  56. package/dist/src/index.js +2 -2
  57. package/dist/src/index.js.map +1 -1
  58. package/dist/src/network/network.d.ts +32 -16
  59. package/dist/src/network/network.d.ts.map +1 -1
  60. package/dist/src/network/remote.d.ts +26 -36
  61. package/dist/src/network/remote.d.ts.map +1 -1
  62. package/dist/src/network/remote.js +156 -193
  63. package/dist/src/network/remote.js.map +1 -1
  64. package/dist/src/processor/processor.d.ts +2 -2
  65. package/dist/src/processor/processor.d.ts.map +1 -1
  66. package/dist/src/processor/processor.js +8 -4
  67. package/dist/src/processor/processor.js.map +1 -1
  68. package/dist/src/promises.d.ts +19 -10
  69. package/dist/src/promises.d.ts.map +1 -1
  70. package/dist/src/promises.js +38 -26
  71. package/dist/src/promises.js.map +1 -1
  72. package/dist/src/registry.d.ts +3 -4
  73. package/dist/src/registry.d.ts.map +1 -1
  74. package/dist/src/registry.js +25 -49
  75. package/dist/src/registry.js.map +1 -1
  76. package/dist/src/resonate-inner.d.ts +8 -5
  77. package/dist/src/resonate-inner.d.ts.map +1 -1
  78. package/dist/src/resonate-inner.js +8 -6
  79. package/dist/src/resonate-inner.js.map +1 -1
  80. package/dist/src/resonate.d.ts +223 -22
  81. package/dist/src/resonate.d.ts.map +1 -1
  82. package/dist/src/resonate.js +277 -153
  83. package/dist/src/resonate.js.map +1 -1
  84. package/dist/src/schedules.d.ts +3 -2
  85. package/dist/src/schedules.d.ts.map +1 -1
  86. package/dist/src/schedules.js +2 -2
  87. package/dist/src/schedules.js.map +1 -1
  88. package/dist/src/types.d.ts +4 -0
  89. package/dist/src/types.d.ts.map +1 -1
  90. package/dist/tsconfig.build.tsbuildinfo +1 -1
  91. package/package.json +2 -2
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAA6C;AAC7C,+CAAsE;AACtE,yCAA6C;AAE7C,wCAAyC;AACzC,8CAA2C;AAC3C,kDAAoC;AAEpC,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,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAElD,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,OAAO,GAOT,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAExF,iBAAiB;AAEjB,MAAM,GAAG,GAAG,IAAI,kBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACrC,MAAM,KAAK,GAAG,IAAI,iBAAS,EAAE,CAAC;AAC9B,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,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,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,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,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;KACpD,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"}
1
+ {"version":3,"file":"example-2.js","sourceRoot":"","sources":["../../sim/example-2.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,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAElD,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,OAAO,GAOT,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAExF,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"}
@@ -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":"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"}
1
+ {"version":3,"file":"example-3.js","sourceRoot":"","sources":["../../sim/example-3.ts"],"names":[],"mappings":"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"}
@@ -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,QAkGnC"}
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../sim/main.ts"],"names":[],"mappings":";;AAgLA,kBAkGC;AAlRD,yCAAoC;AACpC,wCAAyC;AAGzC,8CAA2C;AAC3C,yCAA6C;AAC7C,+CAAsE;AACtE,yCAA6C;AAE7C,sBAAsB;AACtB,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAY,EAAE,CAAS;IACtC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAErF,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAY,EAAE,CAAS;IACtC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEvF,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAY,EAAE,CAAS;IACtC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAY,EAAE,CAAS;IACtC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAY;IACxB,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAErB,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAY;IACxB,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAErB,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAY;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,cAAc,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACxH,6FAA6F;AAE7F,MAAM;AACN,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CACL,iBAAiB,EACjB,aAAa,EACb,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,EACD,CAAC,CACF;KACA,MAAM,CACL,kBAAkB,EAClB,iBAAiB,EACjB,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,EACD,MAAM,CACP;KACA,MAAM,CACL,eAAe,EACf,wCAAwC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAChF,CAAC,KAAK,EAAE,EAAE;IACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,cAAc,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CACF;KACA,MAAM,CAAC,wBAAwB,EAAE,gCAAgC,EAAE,CAAC,KAAK,EAAE,EAAE;IAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,gBAAgB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;KACD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE;IACjE,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;KACD,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,EAAE,CAAC,KAAK,EAAE,EAAE;IACtE,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;KACD,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE;IACxE,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,gBAAgB,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;KACD,MAAM,CAAC,2BAA2B,EAAE,8BAA8B,EAAE,CAAC,KAAK,EAAE,EAAE;IAC7E,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,gBAAgB,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;KACD,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,EAAE,CAAC,KAAK,EAAE,EAAE;IACzE,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,gBAAgB,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAc5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAW,CAAC;AAExC,SAAgB,GAAG,CAAC,OAAgB;IAClC,qCAAqC;IACrC,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IAEzE,MAAM,GAAG,GAAG,IAAI,kBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,GAAG,GAAG,IAAI,qBAAS,CAAC,GAAG,EAAE;QAC7B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;QACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;QAC7C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;QAC7C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1D,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;KACtD,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,iBAAS,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS;IACT,GAAG,CAAC,QAAQ,CAAC,IAAI,sBAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjD,UAAU;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,GAAG,CAAC,QAAQ,CACV,IAAI,sBAAa,CACf,GAAG,EACH,KAAK,EACL,QAAQ,EACR,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAC1D,UAAU,CAAC,EAAE,EACb,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;QACjB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QACvB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAExF,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,GAAG,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,GAAqB,CAAC;YAC1B,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,GAAG,GAAG,IAAI,mBAAO,CACf,IAAA,mBAAO,EAAC,aAAa,CAAC,EACtB,IAAA,mBAAO,EAAC,QAAQ,CAAC,EACjB;wBACE,IAAI,EAAE,eAAe;wBACrB,EAAE;wBACF,OAAO;wBACP,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;wBAClD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;qBAClE,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CACjC,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,GAAG,GAAG,IAAI,mBAAO,CACf,IAAA,mBAAO,EAAC,aAAa,CAAC,EACtB,IAAA,mBAAO,EAAC,QAAQ,CAAC,EACjB;wBACE,IAAI,EAAE,eAAe;wBACrB,EAAE;wBACF,OAAO;wBACP,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;wBAClD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;qBAChD,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CACjC,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD;oBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,GAAG,CAAC,OAAO,CAAC,CAAC;AACf,CAAC"}
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,EAAgB,OAAO,EAAE,OAAO,EAAoB,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"}
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"}
@@ -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;AAGjD,OAAO,KAAK,EAAW,OAAO,IAAI,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAC;AACpH,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;AAoHD,qBAAa,aAAc,SAAQ,OAAO;aAWtB,KAAK,EAAE,MAAM;aACb,KAAK,EAAE,MAAM;IAX/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,QAAQ,EAAE,QAAQ,EAClB,EAAE,YAAgB,EAAE,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM;IAoB/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"}
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"}
@@ -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
- subscriptions = { invoke: [], resume: [], notify: [] };
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(err, res);
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
- anycast: `sim://any@${gaddr}/${iaddr}`,
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":"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"}
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 anycast;
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, anycast: string, pid: string, ttl: number, clock: Clock, network: Network, handler: Handler, registry: Registry, heartbeat: Heartbeat, dependencies: Map<string, any>, processor?: Processor);
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,EAAe,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,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;AAE3C,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,OAAO,CAAS;IACxB,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,OAAO,EAAE,MAAM,EACf,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;IAgBhB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IAoCjD,OAAO,CAAC,cAAc;IAgEtB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,iBAAiB;CA8C1B"}
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"}
@@ -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
- anycast;
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, anycast, pid, ttl, clock, network, handler, registry, heartbeat, dependencies, processor) {
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.anycast = anycast;
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 (!("func" in rootPromise.param) || !("args" in rootPromise.param)) {
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
- let func;
119
- const args = rootPromise.param.args;
120
- try {
121
- func = this.registry.get(rootPromise.param.func, rootPromise.param.version ?? 0).func;
122
- }
123
- catch {
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: res.success ? res.value : res.error,
194
+ value: {
195
+ data: res.success ? res.value : res.error,
196
+ },
178
197
  iKey: id,
179
198
  strict: false,
180
- }, done), ctx.retryPolicy);
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.anycast,
206
- }, done), (err, results) => {
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":"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"}
1
+ {"version":3,"file":"computation.js","sourceRoot":"","sources":["../../src/computation.ts"],"names":[],"mappings":"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"}