@quenk/potoo 4.0.9 → 4.0.12
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/lib/actor/address.js.map +1 -1
- package/lib/actor/system/vm/allocator/map.js +7 -4
- package/lib/actor/system/vm/allocator/map.js.map +1 -1
- package/lib/actor/system/vm/event/dispatcher.d.ts +31 -12
- package/lib/actor/system/vm/event/dispatcher.js +72 -20
- package/lib/actor/system/vm/event/dispatcher.js.map +1 -1
- package/lib/actor/system/vm/index.js +2 -2
- package/lib/actor/system/vm/index.js.map +1 -1
- package/lib/actor/system/vm/runtime/error.js.map +1 -1
- package/lib/actor/system/vm/scheduler.js.map +1 -1
- package/lib/actor/system/vm/script/info.js.map +1 -1
- package/lib/actor/system/vm/thread/shared/js.js +3 -3
- package/lib/actor/system/vm/thread/shared/js.js.map +1 -1
- package/lib/actor/template.d.ts +20 -0
- package/lib/actor/template.js +17 -1
- package/lib/actor/template.js.map +1 -1
- package/package.json +1 -1
package/lib/actor/address.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/actor/address.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,wDAAyD;AAE5C,QAAA,SAAS,GAAG,GAAG,CAAC;AAEhB,QAAA,eAAe,GAAG,GAAG,CAAC;AACtB,QAAA,cAAc,GAAG,GAAG,CAAC;AACrB,QAAA,aAAa,GAAG,EAAE,CAAC;AACnB,QAAA,kBAAkB,GAAG,CAAC,uBAAe,EAAE,sBAAc,EAAE,iBAAS,CAAC,CAAC;AAiB/E;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CACvC,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,iBAAS,CAAC;AAD5D,QAAA,YAAY,gBACgD;AAEzE;;GAEG;AACI,MAAM,IAAI,GAAG,CAAC,MAAe,EAAE,EAAU,EAAW,EAAE;IACzD,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,MAAM,KAAK,iBAAS,IAAI,MAAM,KAAK,qBAAa;QACnD,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE;QAClB,CAAC,CAAC,MAAM,KAAK,sBAAc;
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/actor/address.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,wDAAyD;AAE5C,QAAA,SAAS,GAAG,GAAG,CAAC;AAEhB,QAAA,eAAe,GAAG,GAAG,CAAC;AACtB,QAAA,cAAc,GAAG,GAAG,CAAC;AACrB,QAAA,aAAa,GAAG,EAAE,CAAC;AACnB,QAAA,kBAAkB,GAAG,CAAC,uBAAe,EAAE,sBAAc,EAAE,iBAAS,CAAC,CAAC;AAiB/E;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CACvC,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,iBAAS,CAAC;AAD5D,QAAA,YAAY,gBACgD;AAEzE;;GAEG;AACI,MAAM,IAAI,GAAG,CAAC,MAAe,EAAE,EAAU,EAAW,EAAE;IACzD,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,MAAM,KAAK,iBAAS,IAAI,MAAM,KAAK,qBAAa;QACnD,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE;QAClB,CAAC,CAAC,MAAM,KAAK,sBAAc;YACzB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,GAAG,MAAM,GAAG,iBAAS,GAAG,EAAE,EAAE,CAAC;AACzC,CAAC,CAAC;AAPW,QAAA,IAAI,QAOf;AAEF;;GAEG;AACI,MAAM,SAAS,GAAG,CAAC,IAAa,EAAW,EAAE;IAChD,IACI,IAAI,KAAK,sBAAc;QACvB,IAAI,KAAK,qBAAa;QACtB,IAAI,KAAK,uBAAe;QACxB,IAAI,KAAK,iBAAS,EACpB,CAAC;QACC,OAAO,sBAAc,CAAC;IAC1B,CAAC;SAAM,CAAC;QACJ,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAS,CAAC,CAAC;QAE/B,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAClC,OAAO,iBAAS,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC;YAExD,OAAO,CAAC,KAAK,qBAAa,CAAC,CAAC,CAAC,sBAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,SAAS,aAmBpB;AAEF;;GAEG;AACI,MAAM,KAAK,GAAG,CAAC,IAAa,EAAU,EAAE,CAC3C,IAAI,KAAK,sBAAc;IACvB,IAAI,KAAK,uBAAe;IACxB,IAAI,KAAK,qBAAa;IACtB,IAAI,KAAK,iBAAS;IACd,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,IAAA,YAAI,EAAC,IAAI,CAAC,KAAK,CAAC,iBAAS,CAAC,CAAC,CAAC;AANzB,QAAA,KAAK,SAMoB;AAEtC;;GAEG;AACI,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,KAAc,EAAW,EAAE,CAChE,CAAC,MAAM,KAAK,sBAAc,IAAI,KAAK,KAAK,MAAM,CAAC;IAC/C,IAAA,mBAAU,EAAC,KAAK,EAAE,GAAG,MAAM,GAAG,iBAAS,EAAE,CAAC,CAAC;AAFlC,QAAA,OAAO,WAE2B;AAE/C;;GAEG;AACI,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE,CAC9C,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;AADvB,QAAA,OAAO,WACgB"}
|
|
@@ -7,6 +7,7 @@ const future_1 = require("@quenk/noni/lib/control/monad/future");
|
|
|
7
7
|
const array_1 = require("@quenk/noni/lib/data/array");
|
|
8
8
|
const lazy_1 = require("@quenk/noni/lib/data/lazy");
|
|
9
9
|
const address_1 = require("../../../address");
|
|
10
|
+
const template_1 = require("../../../template");
|
|
10
11
|
const event_1 = require("../event");
|
|
11
12
|
const factory_1 = require("../thread/factory");
|
|
12
13
|
const MAX_THREAD_KILL_PER_CYCLE = 25;
|
|
@@ -85,15 +86,17 @@ class MapAllocator {
|
|
|
85
86
|
mparentEntry.map(parentEntry => parentEntry.children.push(entry));
|
|
86
87
|
if (template.group)
|
|
87
88
|
platform.groups.enroll(address, template.group);
|
|
88
|
-
platform.events.
|
|
89
|
+
let concernPromise = platform.events.monitor(thread, (0, template_1.spawnConcern2Event)(template.spawnConcern));
|
|
90
|
+
platform.events.dispatchActorEvent(thread, event_1.EVENT_ACTOR_ALLOCATED);
|
|
89
91
|
platform.runTask(thread, async () => {
|
|
90
|
-
platform.events.dispatchActorEvent(event_1.EVENT_ACTOR_STARTED, thread.address);
|
|
91
92
|
await actor.start();
|
|
93
|
+
platform.events.dispatchActorEvent(thread, event_1.EVENT_ACTOR_STARTED);
|
|
92
94
|
if (template.run) {
|
|
93
95
|
await template.run(thread);
|
|
94
96
|
await this.deallocate(thread);
|
|
95
97
|
}
|
|
96
98
|
});
|
|
99
|
+
await concernPromise;
|
|
97
100
|
return address;
|
|
98
101
|
}
|
|
99
102
|
async reallocate(target) {
|
|
@@ -129,10 +132,10 @@ class MapAllocator {
|
|
|
129
132
|
await future_1.Future.batch((0, array_1.distribute)(targets.map(target => future_1.Future.do(async () => {
|
|
130
133
|
await target.actor.stop();
|
|
131
134
|
await target.thread.stop();
|
|
132
|
-
platform.events.dispatchActorEvent(
|
|
135
|
+
platform.events.dispatchActorEvent(target.thread, event_1.EVENT_ACTOR_STOPPED);
|
|
133
136
|
platform.groups.unenroll(target.address);
|
|
134
137
|
this.actors.delete(target.address);
|
|
135
|
-
platform.events.dispatchActorEvent(
|
|
138
|
+
platform.events.dispatchActorEvent(target.thread, event_1.EVENT_ACTOR_DEALLOCATED);
|
|
136
139
|
})), MAX_THREAD_KILL_PER_CYCLE));
|
|
137
140
|
}
|
|
138
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/allocator/map.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAE3C,sDAAmD;AACnD,iEAA8D;AAC9D,sDAA+D;AAC/D,oDAA2D;AAE3D,8CAA+D;
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/allocator/map.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,17 @@ import { Lazy } from '@quenk/noni/lib/data/lazy';
|
|
|
3
3
|
import { LogWritable } from '../log/writer';
|
|
4
4
|
import { Address } from '../../../address';
|
|
5
5
|
import { Message } from '../../..';
|
|
6
|
+
import { Thread } from '../thread';
|
|
6
7
|
import { EventType, InternalEvent } from './';
|
|
8
|
+
export declare const ADDRESS_WILDCARD = "*";
|
|
7
9
|
/**
|
|
8
|
-
*
|
|
10
|
+
* Listener is the signature of functions that receive VM events.
|
|
9
11
|
*/
|
|
10
|
-
export type
|
|
12
|
+
export type Listener = (event: InternalEvent) => void;
|
|
13
|
+
/**
|
|
14
|
+
* ListenerMap maps event types to a list of listeners.
|
|
15
|
+
*/
|
|
16
|
+
export type ListenerMap = Map<EventType, Listener[]>;
|
|
11
17
|
/**
|
|
12
18
|
* EventDispatcher is an interface used by the internal VM components to
|
|
13
19
|
* broadcast interesting events when they occur.
|
|
@@ -23,23 +29,36 @@ export type Handler = (event: InternalEvent) => void;
|
|
|
23
29
|
*/
|
|
24
30
|
export declare class EventDispatcher {
|
|
25
31
|
log: Lazy<LogWritable>;
|
|
26
|
-
|
|
27
|
-
constructor(log: Lazy<LogWritable>,
|
|
32
|
+
maps: Map<Address, ListenerMap>;
|
|
33
|
+
constructor(log: Lazy<LogWritable>, maps?: Map<Address, ListenerMap>);
|
|
28
34
|
/**
|
|
29
|
-
* addListener to the
|
|
35
|
+
* addListener queues a callback to be executed when the specified event
|
|
36
|
+
* type occurs for the actor with the target address.
|
|
30
37
|
*/
|
|
31
|
-
|
|
38
|
+
addListener(actor: Address, type: EventType, listener: Listener): void;
|
|
32
39
|
/**
|
|
33
|
-
*
|
|
40
|
+
* removeListener removes a previously installed listener.
|
|
41
|
+
*/
|
|
42
|
+
removeListener(actor: Address, type: EventType, listener: Listener): void;
|
|
43
|
+
/**
|
|
44
|
+
* monitor a Thread waiting for a specific event to occur.
|
|
45
|
+
*
|
|
46
|
+
* Where the event is not of type EVENT_ACTOR_STOPPED, the returned promise
|
|
47
|
+
* will reject when the thread stops. This prevents the promise from blocking
|
|
48
|
+
* forever when the actor is killed or runs into an error.
|
|
34
49
|
*/
|
|
35
|
-
|
|
50
|
+
monitor(thread: Thread, type: events.EventType): Promise<events.InternalEvent>;
|
|
36
51
|
/**
|
|
37
52
|
* dispatchActorEvent dispatches events related to actor lifecycle.
|
|
38
53
|
*/
|
|
39
|
-
dispatchActorEvent(
|
|
54
|
+
dispatchActorEvent(thread: Thread, type: EventType): void;
|
|
55
|
+
/**
|
|
56
|
+
* dispatchMessageEvent dispatches events related to message sending.
|
|
57
|
+
*/
|
|
58
|
+
dispatchMessageEvent(from: Thread, type: EventType, to: Address, message: Message): void;
|
|
40
59
|
/**
|
|
41
|
-
* dispatch is a generic function that when called
|
|
42
|
-
*
|
|
60
|
+
* dispatch is a generic function that when called dispatchs the supplied
|
|
61
|
+
* event to all installed listeners.
|
|
43
62
|
*/
|
|
44
|
-
dispatch(event: events.InternalEvent): void;
|
|
63
|
+
dispatch(thread: Thread, event: events.InternalEvent): void;
|
|
45
64
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventDispatcher = void 0;
|
|
3
|
+
exports.EventDispatcher = exports.ADDRESS_WILDCARD = void 0;
|
|
4
4
|
const events = require("./");
|
|
5
5
|
const lazy_1 = require("@quenk/noni/lib/data/lazy");
|
|
6
6
|
const eventMap = {
|
|
@@ -11,10 +11,12 @@ const eventMap = {
|
|
|
11
11
|
actor: new Map([
|
|
12
12
|
[events.EVENT_ACTOR_ALLOCATED, events.ActorAllocatedEvent],
|
|
13
13
|
[events.EVENT_ACTOR_STARTED, events.ActorStartedEvent],
|
|
14
|
+
[events.EVENT_ACTOR_RECEIVE, events.ActorReceiveEvent],
|
|
14
15
|
[events.EVENT_ACTOR_STOPPED, events.ActorStoppedEvent],
|
|
15
16
|
[events.EVENT_ACTOR_DEALLOCATED, events.ActorDeallocatedEvent]
|
|
16
17
|
])
|
|
17
18
|
};
|
|
19
|
+
exports.ADDRESS_WILDCARD = '*';
|
|
18
20
|
/**
|
|
19
21
|
* EventDispatcher is an interface used by the internal VM components to
|
|
20
22
|
* broadcast interesting events when they occur.
|
|
@@ -29,42 +31,92 @@ const eventMap = {
|
|
|
29
31
|
* @typeparam E type of event the dispatcher dispatches.
|
|
30
32
|
*/
|
|
31
33
|
class EventDispatcher {
|
|
32
|
-
constructor(log,
|
|
34
|
+
constructor(log, maps = new Map()) {
|
|
33
35
|
this.log = log;
|
|
34
|
-
this.
|
|
36
|
+
this.maps = maps;
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
|
-
* addListener to the
|
|
39
|
+
* addListener queues a callback to be executed when the specified event
|
|
40
|
+
* type occurs for the actor with the target address.
|
|
38
41
|
*/
|
|
39
|
-
|
|
40
|
-
let
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
addListener(actor, type, listener) {
|
|
43
|
+
let target = this.maps.get(actor) || new Map();
|
|
44
|
+
let listeners = target.get(type) || [];
|
|
45
|
+
listeners.push(listener);
|
|
46
|
+
target.set(type, listeners);
|
|
47
|
+
this.maps.set(actor, target);
|
|
43
48
|
}
|
|
44
49
|
/**
|
|
45
|
-
*
|
|
50
|
+
* removeListener removes a previously installed listener.
|
|
46
51
|
*/
|
|
47
|
-
|
|
48
|
-
let
|
|
49
|
-
if (
|
|
50
|
-
|
|
52
|
+
removeListener(actor, type, listener) {
|
|
53
|
+
let target = this.maps.get(actor);
|
|
54
|
+
if (target) {
|
|
55
|
+
let listeners = target.get(type);
|
|
56
|
+
if (listeners) {
|
|
57
|
+
let newListeners = listeners.filter(target => target !== listener);
|
|
58
|
+
if (newListeners.length === 0)
|
|
59
|
+
target.delete(type);
|
|
60
|
+
else
|
|
61
|
+
target.set(type, newListeners);
|
|
62
|
+
}
|
|
63
|
+
if (target.size === 0)
|
|
64
|
+
this.maps.delete(actor);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* monitor a Thread waiting for a specific event to occur.
|
|
69
|
+
*
|
|
70
|
+
* Where the event is not of type EVENT_ACTOR_STOPPED, the returned promise
|
|
71
|
+
* will reject when the thread stops. This prevents the promise from blocking
|
|
72
|
+
* forever when the actor is killed or runs into an error.
|
|
73
|
+
*/
|
|
74
|
+
async monitor(thread, type) {
|
|
75
|
+
return new Promise((resolve, reject) => {
|
|
76
|
+
let handler = (event) => {
|
|
77
|
+
this.removeListener(thread.address, events.EVENT_ACTOR_STOPPED, handler);
|
|
78
|
+
this.removeListener(thread.address, type, handler);
|
|
79
|
+
if (event.type === type) {
|
|
80
|
+
resolve(event);
|
|
81
|
+
}
|
|
82
|
+
else if (event.type === events.EVENT_ACTOR_STOPPED) {
|
|
83
|
+
reject(new Error('ERR_ACTOR_STOPPED'));
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
if (type !== events.EVENT_ACTOR_STOPPED)
|
|
87
|
+
this.addListener(thread.address, events.EVENT_ACTOR_STOPPED, handler);
|
|
88
|
+
this.addListener(thread.address, type, handler);
|
|
89
|
+
});
|
|
51
90
|
}
|
|
52
91
|
/**
|
|
53
92
|
* dispatchActorEvent dispatches events related to actor lifecycle.
|
|
54
93
|
*/
|
|
55
|
-
dispatchActorEvent(
|
|
94
|
+
dispatchActorEvent(thread, type) {
|
|
56
95
|
let Cons = eventMap.actor.get(type);
|
|
57
96
|
if (Cons)
|
|
58
|
-
this.dispatch(new Cons(
|
|
97
|
+
this.dispatch(thread, new Cons(thread.address));
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* dispatchMessageEvent dispatches events related to message sending.
|
|
101
|
+
*/
|
|
102
|
+
dispatchMessageEvent(from, type, to, message) {
|
|
103
|
+
let Cons = eventMap.message.get(type);
|
|
104
|
+
if (Cons)
|
|
105
|
+
this.dispatch(from, new Cons(from.address, to, message));
|
|
59
106
|
}
|
|
60
107
|
/**
|
|
61
|
-
* dispatch is a generic function that when called
|
|
62
|
-
*
|
|
108
|
+
* dispatch is a generic function that when called dispatchs the supplied
|
|
109
|
+
* event to all installed listeners.
|
|
63
110
|
*/
|
|
64
|
-
dispatch(event) {
|
|
111
|
+
dispatch(thread, event) {
|
|
112
|
+
var _a, _b, _c, _d;
|
|
65
113
|
(0, lazy_1.evaluate)(this.log).writeEvent(event);
|
|
66
|
-
|
|
67
|
-
|
|
114
|
+
let listeners = [
|
|
115
|
+
...((_b = (_a = this.maps.get(thread.address)) === null || _a === void 0 ? void 0 : _a.get(event.type)) !== null && _b !== void 0 ? _b : []),
|
|
116
|
+
...((_d = (_c = this.maps.get(exports.ADDRESS_WILDCARD)) === null || _c === void 0 ? void 0 : _c.get(event.type)) !== null && _d !== void 0 ? _d : [])
|
|
117
|
+
];
|
|
118
|
+
for (let listener of listeners)
|
|
119
|
+
listener(event);
|
|
68
120
|
}
|
|
69
121
|
}
|
|
70
122
|
exports.EventDispatcher = EventDispatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/event/dispatcher.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAE7B,oDAA2D;
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/event/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,10 +82,10 @@ class PVM {
|
|
|
82
82
|
let missing = (0, array_1.diff)(targets, threads.map(t => t.address));
|
|
83
83
|
if (!(0, array_1.empty)(missing)) {
|
|
84
84
|
for (let address of missing)
|
|
85
|
-
this.events.dispatchMessageEvent(events.EVENT_MESSAGE_BOUNCE,
|
|
85
|
+
this.events.dispatchMessageEvent(from, events.EVENT_MESSAGE_BOUNCE, address, msg);
|
|
86
86
|
}
|
|
87
87
|
for (let thread of threads) {
|
|
88
|
-
this.events.dispatchMessageEvent(events.EVENT_MESSGAE_SEND,
|
|
88
|
+
this.events.dispatchMessageEvent(from, events.EVENT_MESSGAE_SEND, to, msg);
|
|
89
89
|
thread.notify(msg).catch(err => thread.raise(err));
|
|
90
90
|
}
|
|
91
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actor/system/vm/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actor/system/vm/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/runtime/error.ts"],"names":[],"mappings":";;;AAEA,8CAA+D;AAE/D,oCAAgD;AAGhD;;GAEG;AACH,MAAa,UAAU;IACnB,YAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAGzC;AAJD,gCAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,UAAU;IACxC,YAAmB,EAAU;QACzB,KAAK,CACD,WAAW,EAAE,mBAAmB;YAC5B,GAAG,4BAAkB,yBAAyB,CACrD,CAAC;QAJa,OAAE,GAAF,EAAE,CAAQ;IAK7B,CAAC;CACJ;AAPD,oCAOC;AAED;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,UAAU;IACnD,YAAmB,OAAgB;QAC/B,KAAK,CAAC,uBAAuB,OAAO,8BAA8B,CAAC,CAAC;QADrD,YAAO,GAAP,OAAO,CAAS;IAEnC,CAAC;CACJ;AAJD,0DAIC;AAED;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,UAAU;IAC/C,YAAmB,OAAgB;QAC/B,KAAK,CAAC,sBAAsB,OAAO,aAAa,CAAC,CAAC;QADnC,YAAO,GAAP,OAAO,CAAS;IAEnC,CAAC;CACJ;AAJD,kDAIC;AAED;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,UAAU;IAClD,YAAmB,KAAa;QAC5B,KAAK,CAAC,cAAc,KAAK,yCAAyC,CAAC,CAAC;QADrD,UAAK,GAAL,KAAK,CAAQ;IAEhC,CAAC;CACJ;AAJD,wDAIC;AAED,MAAa,sBAAuB,SAAQ,UAAU;IAClD,YAAmB,KAAa;QAC5B,KAAK,CAAC,cAAc,KAAK,yCAAyC,CAAC,CAAC;QADrD,UAAK,GAAL,KAAK,CAAQ;IAEhC,CAAC;CACJ;AAJD,wDAIC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,UAAU;IAC9C,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/runtime/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../../src/actor/system/vm/scheduler.ts"],"names":[],"mappings":";;;AAAA,4CAA4D;AAE/C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAOzD,MAAa,IAAI;IACb,YACW,MAAoB,EACpB,KAA2B,EAC3B,IAAyB;QAFzB,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAsB;QAC3B,SAAI,GAAJ,IAAI,CAAqB;IACjC,CAAC;CACP;AAND,oBAMC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAa,SAAS;IAClB,
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../../src/actor/system/vm/scheduler.ts"],"names":[],"mappings":";;;AAAA,4CAA4D;AAE/C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAOzD,MAAa,IAAI;IACb,YACW,MAAoB,EACpB,KAA2B,EAC3B,IAAyB;QAFzB,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAsB;QAC3B,SAAI,GAAJ,IAAI,CAAqB;IACjC,CAAC;CACP;AAND,oBAMC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAa,SAAS;IAClB,YACW,QAAgB,EAAE,EAClB,YAAY,KAAK;QADjB,UAAK,GAAL,KAAK,CAAa;QAClB,cAAS,GAAT,SAAS,CAAQ;IACzB,CAAC;IAEJ;;;;;OAKG;IACH,QAAQ,CAAC,IAAU,EAAE,OAAO,GAAG,KAAK;QAChC,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAC1B,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CACzC,CAAC;YACF,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,MAAoB;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC;YACvC,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,2BAAmB,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,GAAG;QACC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,GAAG,CAAC;QACR,OACI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CACvB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,oBAAW,CAAC,IAAI,CACjD,CAAC,KAAK,CAAC,CAAC,EACX,CAAC;YACC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAW,CAAC,OAAO,CAAC;YAExC,sBAAsB;YACtB,IAAI,CAAC,IAAI,EAAE;iBACN,IAAI,CAAC,GAAG,EAAE;gBACP,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,oBAAW,CAAC,OAAO;oBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAW,CAAC,IAAI,CAAC;YAC7C,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACT,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;CACJ;AA9ED,8BA8EC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/script/info.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAmGjC;;GAEG;AACH,MAAsB,OAAO;IACzB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CAKtC;AAND,0BAMC;AAED;;GAEG;AACH,MAAa,QAAS,SAAQ,OAAO;IAArC;;QACI,SAAI,GAAG,gBAAQ,CAAC;QAEhB,eAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,CAAC;CAAA;AAJD,4BAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,OAAO;IAAzC;;QACI,SAAI,GAAG,iBAAS,CAAC;QAEjB,eAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,CAAC;CAAA;AAJD,oCAIC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,OAAO;IAA1C;;QACI,SAAI,GAAG,kBAAU,CAAC;QAElB,eAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACnC,CAAC;CAAA;AAJD,sCAIC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,OAAO;IAA1C;;QACI,SAAI,GAAG,kBAAU,CAAC;QAElB,eAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACnC,CAAC;CAAA;AAJD,sCAIC;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,OAAO;IAAxC;;QACI,SAAI,GAAG,gBAAQ,CAAC;QAEhB,eAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,CAAC;CAAA;AAJD,kCAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,OAAO;IAAzC;;QACI,SAAI,GAAG,iBAAS,CAAC;QAEjB,eAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,CAAC;CAAA;AAJD,oCAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,OAAO;IAAzC;;QACI,SAAI,GAAG,iBAAS,CAAC;QAEjB,eAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,CAAC;CAAA;AAJD,oCAIC;AAED;;GAEG;AACH,MAAa,cAAe,SAAQ,OAAO;IAA3C;;QACI,SAAI,GAAG,mBAAW,CAAC;QAEnB,eAAU,GAAG,KAAK,CAAC,YAAY,CAAC;IACpC,CAAC;CAAA;AAJD,wCAIC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,OAAO;IAA1C;;QACI,SAAI,GAAG,kBAAU,CAAC;QAElB,eAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACnC,CAAC;CAAA;AAJD,sCAIC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,OAAO;IAA1C;;QACI,SAAI,GAAG,kBAAU,CAAC;QAElB,eAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACnC,CAAC;CAAA;AAJD,sCAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,OAAO;IACrC,
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/script/info.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,9 +49,9 @@ class JSThread {
|
|
|
49
49
|
await this.vm.sendKillSignal(this, address);
|
|
50
50
|
}
|
|
51
51
|
die() {
|
|
52
|
-
// TODO: dispatch event
|
|
53
52
|
this.state = _1.ThreadState.INVALID;
|
|
54
53
|
this.vm.scheduler.removeTasks(this);
|
|
54
|
+
this.vm.events.dispatchActorEvent(this, event_1.EVENT_ACTOR_STOPPED);
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* resume marks the Thread as ready to run again.
|
|
@@ -87,7 +87,7 @@ class JSThread {
|
|
|
87
87
|
async receive(cases = []) {
|
|
88
88
|
this._assertValid();
|
|
89
89
|
let msg = await future_1.Future.fromCallback(cb => {
|
|
90
|
-
this.vm.events.dispatchActorEvent(event_1.EVENT_ACTOR_RECEIVE
|
|
90
|
+
this.vm.events.dispatchActorEvent(this, event_1.EVENT_ACTOR_RECEIVE);
|
|
91
91
|
let matcher = new case_1.CaseFunction((0, array_1.empty)(cases) ? defaultCases : cases);
|
|
92
92
|
let task = new scheduler_1.Task(this, cb, async () => {
|
|
93
93
|
this._assertValid();
|
|
@@ -100,7 +100,7 @@ class JSThread {
|
|
|
100
100
|
let result = await matcher.apply(msg);
|
|
101
101
|
return cb(null, result);
|
|
102
102
|
}
|
|
103
|
-
this.vm.events.dispatchMessageEvent(event_1.EVENT_MESSAGE_DROPPED, address_1.ADDRESS_DISCARD,
|
|
103
|
+
this.vm.events.dispatchMessageEvent(this, event_1.EVENT_MESSAGE_DROPPED, address_1.ADDRESS_DISCARD, msg);
|
|
104
104
|
}
|
|
105
105
|
this.state = _1.ThreadState.MSG_WAIT;
|
|
106
106
|
this.vm.scheduler.postTask(task, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../../../src/actor/system/vm/thread/shared/js.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAC9D,sDAAmD;AACnD,6DAI4C;AAC5C,4DAAyD;AAGzD,iDAA+D;AAC/D,+CAAuC;AAGvC,wBAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../../../src/actor/system/vm/thread/shared/js.ts"],"names":[],"mappings":"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"}
|
package/lib/actor/template.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Path } from '@quenk/noni/lib/data/record/path';
|
|
|
2
2
|
import { Err } from '@quenk/noni/lib/control/error';
|
|
3
3
|
import { Runtime } from './system/vm/runtime';
|
|
4
4
|
import { Actor } from './';
|
|
5
|
+
import { EventType } from './system/vm/event';
|
|
5
6
|
export declare const ACTION_RAISE = -1;
|
|
6
7
|
export declare const ACTION_IGNORE = 0;
|
|
7
8
|
export declare const ACTION_RESTART = 1;
|
|
@@ -28,6 +29,10 @@ export type TrapFunc = (e: Err) => TrapAction;
|
|
|
28
29
|
* 4. Stop the actor and eject it from the system.
|
|
29
30
|
*/
|
|
30
31
|
export type TrapAction = -0x1 | 0x0 | 0x1 | 0x2;
|
|
32
|
+
/**
|
|
33
|
+
* SpawnConcernLevel is one of the CONCERN_LEVEL_* constants.
|
|
34
|
+
*/
|
|
35
|
+
export type SpawnConcernLevel = string;
|
|
31
36
|
/**
|
|
32
37
|
* BaseTemplate holds the common properties for all templates.
|
|
33
38
|
*/
|
|
@@ -55,6 +60,13 @@ export interface BaseTemplate {
|
|
|
55
60
|
* address but received by multiple actors.
|
|
56
61
|
*/
|
|
57
62
|
group?: string | string[];
|
|
63
|
+
/**
|
|
64
|
+
* spawnConcern indicates which event from the actor should be waited
|
|
65
|
+
* on before the parent considers it spawned.
|
|
66
|
+
*
|
|
67
|
+
* If not specified, the default is to wait for the allocated event.
|
|
68
|
+
*/
|
|
69
|
+
spawnConcern?: SpawnConcernLevel;
|
|
58
70
|
/**
|
|
59
71
|
* trap is called when unhandled errors are detected.
|
|
60
72
|
*
|
|
@@ -135,3 +147,11 @@ export declare const isProcessTemplate: (tmpl: Template) => tmpl is ProcessTempl
|
|
|
135
147
|
* in global scope in order to work properly.
|
|
136
148
|
*/
|
|
137
149
|
export declare const fromSpawnable: (tmpl: Spawnable) => Template;
|
|
150
|
+
export declare const SPAWN_CONCERN_ALLOCATED = "allocated";
|
|
151
|
+
export declare const SPAWN_CONCERN_STARTED = "started";
|
|
152
|
+
export declare const SPAWN_CONCERN_RECEIVING = "receiving";
|
|
153
|
+
export declare const SPAWN_CONCERN_STOPPED = "stopped";
|
|
154
|
+
/**
|
|
155
|
+
* spawnConcern2Event converts a SpawnConcernLevel to an EventType.
|
|
156
|
+
*/
|
|
157
|
+
export declare const spawnConcern2Event: (level?: SpawnConcernLevel) => EventType;
|
package/lib/actor/template.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fromSpawnable = exports.isProcessTemplate = exports.ACTION_STOP = exports.ACTION_RESTART = exports.ACTION_IGNORE = exports.ACTION_RAISE = void 0;
|
|
3
|
+
exports.spawnConcern2Event = exports.SPAWN_CONCERN_STOPPED = exports.SPAWN_CONCERN_RECEIVING = exports.SPAWN_CONCERN_STARTED = exports.SPAWN_CONCERN_ALLOCATED = exports.fromSpawnable = exports.isProcessTemplate = exports.ACTION_STOP = exports.ACTION_RESTART = exports.ACTION_IGNORE = exports.ACTION_RAISE = void 0;
|
|
4
4
|
const type_1 = require("@quenk/noni/lib/data/type");
|
|
5
|
+
const event_1 = require("./system/vm/event");
|
|
5
6
|
exports.ACTION_RAISE = -0x1;
|
|
6
7
|
exports.ACTION_IGNORE = 0x0;
|
|
7
8
|
exports.ACTION_RESTART = 0x1;
|
|
@@ -32,4 +33,19 @@ const fromSpawnable = (tmpl) => {
|
|
|
32
33
|
}
|
|
33
34
|
};
|
|
34
35
|
exports.fromSpawnable = fromSpawnable;
|
|
36
|
+
exports.SPAWN_CONCERN_ALLOCATED = 'allocated';
|
|
37
|
+
exports.SPAWN_CONCERN_STARTED = 'started';
|
|
38
|
+
exports.SPAWN_CONCERN_RECEIVING = 'receiving';
|
|
39
|
+
exports.SPAWN_CONCERN_STOPPED = 'stopped';
|
|
40
|
+
const spawnConcerns = {
|
|
41
|
+
[exports.SPAWN_CONCERN_ALLOCATED]: event_1.EVENT_ACTOR_ALLOCATED,
|
|
42
|
+
[exports.SPAWN_CONCERN_STARTED]: event_1.EVENT_ACTOR_STARTED,
|
|
43
|
+
[exports.SPAWN_CONCERN_RECEIVING]: event_1.EVENT_ACTOR_RECEIVE,
|
|
44
|
+
[exports.SPAWN_CONCERN_STOPPED]: event_1.EVENT_ACTOR_STOPPED
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* spawnConcern2Event converts a SpawnConcernLevel to an EventType.
|
|
48
|
+
*/
|
|
49
|
+
const spawnConcern2Event = (level = 'allocated') => { var _a; return (_a = spawnConcerns[level]) !== null && _a !== void 0 ? _a : event_1.EVENT_ACTOR_ALLOCATED; };
|
|
50
|
+
exports.spawnConcern2Event = spawnConcern2Event;
|
|
35
51
|
//# sourceMappingURL=template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/actor/template.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/actor/template.ts"],"names":[],"mappings":";;;AAGA,oDAAiE;AAIjE,6CAM2B;AAEd,QAAA,YAAY,GAAG,CAAC,GAAG,CAAC;AACpB,QAAA,aAAa,GAAG,GAAG,CAAC;AACpB,QAAA,cAAc,GAAG,GAAG,CAAC;AACrB,QAAA,WAAW,GAAG,GAAG,CAAC;AAkJ/B,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC,WAAW,CAAC;AAEnD,MAAM,eAAe,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,aAAa,CAAC;AAE/E;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAA2B,EAAE,CACzE,IAAA,eAAQ,EAAmB,IAAK,CAAC,MAAM,CAAC,CAAC;AADhC,QAAA,iBAAiB,qBACe;AAE7C;;;;;;;GAOG;AACI,MAAM,aAAa,GAAG,CAAC,IAAe,EAAY,EAAE;IACvD,IAAI,IAAA,iBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,eAAe,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,EAAE,GAAG,EAAW,IAAI,EAAE;YACxB,CAAC,CAAC,EAAE,MAAM,EAAc,IAAI,EAAE,CAAC;IACvC,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB;AAEW,QAAA,uBAAuB,GAAG,WAAW,CAAC;AACtC,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,uBAAuB,GAAG,WAAW,CAAC;AACtC,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAE/C,MAAM,aAAa,GAAsB;IACrC,CAAC,+BAAuB,CAAC,EAAE,6BAAqB;IAChD,CAAC,6BAAqB,CAAC,EAAE,2BAAmB;IAC5C,CAAC,+BAAuB,CAAC,EAAE,2BAAmB;IAC9C,CAAC,6BAAqB,CAAC,EAAE,2BAAmB;CAC/C,CAAC;AAEF;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAC9B,QAA2B,WAAW,EAC7B,EAAE,WAAC,OAAA,MAAA,aAAa,CAAC,KAAK,CAAC,mCAAI,6BAAqB,CAAA,EAAA,CAAC;AAFjD,QAAA,kBAAkB,sBAE+B"}
|