@quenk/potoo 4.1.7 → 4.1.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 +1 -1
- package/lib/actor/address.js.map +1 -1
- package/lib/actor/system/vm/event/dispatcher.js +3 -1
- package/lib/actor/system/vm/event/dispatcher.js.map +1 -1
- package/lib/actor/system/vm/event/index.d.ts +9 -0
- package/lib/actor/system/vm/event/index.js +14 -1
- package/lib/actor/system/vm/event/index.js.map +1 -1
- package/lib/actor/system/vm/log/writer.js +1 -5
- package/lib/actor/system/vm/log/writer.js.map +1 -1
- package/lib/actor/system/vm/scheduler.js +3 -5
- package/lib/actor/system/vm/scheduler.js.map +1 -1
- package/lib/actor/system/vm/thread/collector.js +11 -7
- package/lib/actor/system/vm/thread/collector.js.map +1 -1
- package/lib/actor/system/vm/thread/shared/js.js +3 -1
- package/lib/actor/system/vm/thread/shared/js.js.map +1 -1
- package/package.json +1 -1
package/lib/actor/address.js
CHANGED
|
@@ -66,7 +66,7 @@ exports.getId = getId;
|
|
|
66
66
|
* isChild tests whether an address is a child of the parent address.
|
|
67
67
|
*/
|
|
68
68
|
const isChild = (parent, child) => (parent === exports.ADDRESS_SYSTEM && child !== parent) ||
|
|
69
|
-
(0, string_1.startsWith)(child, `${parent}
|
|
69
|
+
(0, string_1.startsWith)(child, `${parent}`);
|
|
70
70
|
exports.isChild = isChild;
|
|
71
71
|
/**
|
|
72
72
|
* isGroup determines if an address is a group reference.
|
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;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,WAAW,GAAG,CAAC,IAAa,EAAW,EAAE,CAClD,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,sBAAc,CAAC;AAD1B,QAAA,WAAW,eACe;AAEvC;;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,
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/actor/address.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,10 @@ const events = require("./");
|
|
|
5
5
|
const lazy_1 = require("@quenk/noni/lib/data/lazy");
|
|
6
6
|
const eventMap = {
|
|
7
7
|
message: new Map([
|
|
8
|
+
[events.EVENT_MESSGAE_SEND, events.MessageSendEvent],
|
|
9
|
+
[events.EVENT_MESSAGE_CONSUMED, events.MessageConsumeEvent],
|
|
8
10
|
[events.EVENT_MESSAGE_BOUNCE, events.MessageBounceEvent],
|
|
9
|
-
[events.
|
|
11
|
+
[events.EVENT_MESSAGE_DROPPED, events.MessageDropEvent]
|
|
10
12
|
]),
|
|
11
13
|
actor: new Map([
|
|
12
14
|
[events.EVENT_ACTOR_ALLOCATED, events.ActorAllocatedEvent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/event/dispatcher.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAE7B,oDAA2D;AAQ3D,MAAM,QAAQ,GAAG;IACb,OAAO,EAAE,IAAI,GAAG,CAAC;QACb,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC;QACxD,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/event/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { LogLevelValue } from '../log';
|
|
|
4
4
|
export declare const EVENT_MESSGAE_SEND = "message-send";
|
|
5
5
|
export declare const EVENT_MESSAGE_BOUNCE = "message-bounce";
|
|
6
6
|
export declare const EVENT_MESSAGE_DROPPED = "message-dropped";
|
|
7
|
+
export declare const EVENT_MESSAGE_CONSUMED = "message-consumed";
|
|
7
8
|
export declare const EVENT_ACTOR_ALLOCATED = "actor-allocated";
|
|
8
9
|
export declare const EVENT_ACTOR_STARTED = "actor-started";
|
|
9
10
|
export declare const EVENT_ACTOR_STOPPED = "actor-stopped";
|
|
@@ -76,6 +77,14 @@ export declare class MessageDropEvent extends MessageEvent {
|
|
|
76
77
|
type: string;
|
|
77
78
|
level: LogLevelValue;
|
|
78
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* MessageConsumedEvent is triggered when an actor has consumed a message it
|
|
82
|
+
* received.
|
|
83
|
+
*/
|
|
84
|
+
export declare class MessageConsumeEvent extends MessageEvent {
|
|
85
|
+
type: string;
|
|
86
|
+
level: LogLevelValue;
|
|
87
|
+
}
|
|
79
88
|
/**
|
|
80
89
|
* ActorEvent are events related to the lifecycle of an actor.
|
|
81
90
|
*/
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ActorReceiveEvent = exports.ActorDeallocatedEvent = exports.ActorStoppedEvent = exports.ActorStartedEvent = exports.ActorAllocatedEvent = exports.ActorEvent = exports.MessageDropEvent = exports.MessageBounceEvent = exports.MessageSendEvent = exports.MessageEvent = exports.VMEvent = exports.EVENT_ACTOR_RECEIVE = exports.EVENT_ACTOR_DEALLOCATED = exports.EVENT_ACTOR_STOPPED = exports.EVENT_ACTOR_STARTED = exports.EVENT_ACTOR_ALLOCATED = exports.EVENT_MESSAGE_DROPPED = exports.EVENT_MESSAGE_BOUNCE = exports.EVENT_MESSGAE_SEND = void 0;
|
|
3
|
+
exports.ActorReceiveEvent = exports.ActorDeallocatedEvent = exports.ActorStoppedEvent = exports.ActorStartedEvent = exports.ActorAllocatedEvent = exports.ActorEvent = exports.MessageConsumeEvent = exports.MessageDropEvent = exports.MessageBounceEvent = exports.MessageSendEvent = exports.MessageEvent = exports.VMEvent = exports.EVENT_ACTOR_RECEIVE = exports.EVENT_ACTOR_DEALLOCATED = exports.EVENT_ACTOR_STOPPED = exports.EVENT_ACTOR_STARTED = exports.EVENT_ACTOR_ALLOCATED = exports.EVENT_MESSAGE_CONSUMED = exports.EVENT_MESSAGE_DROPPED = exports.EVENT_MESSAGE_BOUNCE = exports.EVENT_MESSGAE_SEND = void 0;
|
|
4
4
|
const log_1 = require("../log");
|
|
5
5
|
exports.EVENT_MESSGAE_SEND = 'message-send';
|
|
6
6
|
exports.EVENT_MESSAGE_BOUNCE = 'message-bounce';
|
|
7
7
|
exports.EVENT_MESSAGE_DROPPED = 'message-dropped';
|
|
8
|
+
exports.EVENT_MESSAGE_CONSUMED = 'message-consumed';
|
|
8
9
|
exports.EVENT_ACTOR_ALLOCATED = 'actor-allocated';
|
|
9
10
|
exports.EVENT_ACTOR_STARTED = 'actor-started';
|
|
10
11
|
exports.EVENT_ACTOR_STOPPED = 'actor-stopped';
|
|
@@ -67,6 +68,18 @@ class MessageDropEvent extends MessageEvent {
|
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
70
|
exports.MessageDropEvent = MessageDropEvent;
|
|
71
|
+
/**
|
|
72
|
+
* MessageConsumedEvent is triggered when an actor has consumed a message it
|
|
73
|
+
* received.
|
|
74
|
+
*/
|
|
75
|
+
class MessageConsumeEvent extends MessageEvent {
|
|
76
|
+
constructor() {
|
|
77
|
+
super(...arguments);
|
|
78
|
+
this.type = exports.EVENT_MESSAGE_CONSUMED;
|
|
79
|
+
this.level = log_1.LogLevelValue.debug;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.MessageConsumeEvent = MessageConsumeEvent;
|
|
70
83
|
/**
|
|
71
84
|
* ActorEvent are events related to the lifecycle of an actor.
|
|
72
85
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/event/index.ts"],"names":[],"mappings":";;;AAEA,gCAAuC;AAE1B,QAAA,kBAAkB,GAAG,cAAc,CAAC;AACpC,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACtC,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACtC,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAC9C,QAAA,mBAAmB,GAAG,eAAe,CAAC;AA+BnD;;GAEG;AACH,MAAsB,OAAO;IAKzB,YAAmB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAND,0BAMC;AAED;;GAEG;AACH,MAAsB,YAAa,SAAQ,OAAO;IAC9C,YACW,IAAa,EACb,EAAW,EACX,OAAgB;QAEvB,KAAK,CAAC,IAAI,CAAC,CAAC;QAJL,SAAI,GAAJ,IAAI,CAAS;QACb,OAAE,GAAF,EAAE,CAAS;QACX,YAAO,GAAP,OAAO,CAAS;IAG3B,CAAC;CACJ;AARD,oCAQC;AAED;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,YAAY;IAAlD;;QACI,SAAI,GAAG,0BAAkB,CAAC;QAE1B,UAAK,GAAG,mBAAa,CAAC,IAAI,CAAC;IAC/B,CAAC;CAAA;AAJD,4CAIC;AAED;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,YAAY;IAApD;;QACI,SAAI,GAAG,4BAAoB,CAAC;QAE5B,UAAK,GAAG,mBAAa,CAAC,IAAI,CAAC;IAC/B,CAAC;CAAA;AAJD,gDAIC;AAED;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,YAAY;IAAlD;;QACI,SAAI,GAAG,6BAAqB,CAAC;QAE7B,UAAK,GAAG,mBAAa,CAAC,IAAI,CAAC;IAC/B,CAAC;CAAA;AAJD,4CAIC;AAED;;GAEG;AACH,MAAsB,UAAW,SAAQ,OAAO;IAG5C,YAAmB,OAAgB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;QADA,YAAO,GAAP,OAAO,CAAS;QAFnC,UAAK,GAAG,mBAAa,CAAC,IAAI,CAAC;IAI3B,CAAC;CACJ;AAND,gCAMC;AAED;;GAEG;AACH,MAAa,mBAAoB,SAAQ,UAAU;IAAnD;;QACI,SAAI,GAAG,6BAAqB,CAAC;IACjC,CAAC;CAAA;AAFD,kDAEC;AAED;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,UAAU;IAAjD;;QACI,SAAI,GAAG,2BAAmB,CAAC;IAC/B,CAAC;CAAA;AAFD,8CAEC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,UAAU;IAAjD;;QACI,SAAI,GAAG,2BAAmB,CAAC;IAC/B,CAAC;CAAA;AAFD,8CAEC;AAED;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,UAAU;IAArD;;QACI,SAAI,GAAG,+BAAuB,CAAC;IACnC,CAAC;CAAA;AAFD,sDAEC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,UAAU;IAAjD;;QACI,SAAI,GAAG,2BAAmB,CAAC;IAC/B,CAAC;CAAA;AAFD,8CAEC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/event/index.ts"],"names":[],"mappings":";;;AAEA,gCAAuC;AAE1B,QAAA,kBAAkB,GAAG,cAAc,CAAC;AACpC,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAC5C,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACtC,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACtC,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAC9C,QAAA,mBAAmB,GAAG,eAAe,CAAC;AA+BnD;;GAEG;AACH,MAAsB,OAAO;IAKzB,YAAmB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAND,0BAMC;AAED;;GAEG;AACH,MAAsB,YAAa,SAAQ,OAAO;IAC9C,YACW,IAAa,EACb,EAAW,EACX,OAAgB;QAEvB,KAAK,CAAC,IAAI,CAAC,CAAC;QAJL,SAAI,GAAJ,IAAI,CAAS;QACb,OAAE,GAAF,EAAE,CAAS;QACX,YAAO,GAAP,OAAO,CAAS;IAG3B,CAAC;CACJ;AARD,oCAQC;AAED;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,YAAY;IAAlD;;QACI,SAAI,GAAG,0BAAkB,CAAC;QAE1B,UAAK,GAAG,mBAAa,CAAC,IAAI,CAAC;IAC/B,CAAC;CAAA;AAJD,4CAIC;AAED;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,YAAY;IAApD;;QACI,SAAI,GAAG,4BAAoB,CAAC;QAE5B,UAAK,GAAG,mBAAa,CAAC,IAAI,CAAC;IAC/B,CAAC;CAAA;AAJD,gDAIC;AAED;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,YAAY;IAAlD;;QACI,SAAI,GAAG,6BAAqB,CAAC;QAE7B,UAAK,GAAG,mBAAa,CAAC,IAAI,CAAC;IAC/B,CAAC;CAAA;AAJD,4CAIC;AAED;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,YAAY;IAArD;;QACI,SAAI,GAAG,8BAAsB,CAAC;QAE9B,UAAK,GAAG,mBAAa,CAAC,KAAK,CAAC;IAChC,CAAC;CAAA;AAJD,kDAIC;AAED;;GAEG;AACH,MAAsB,UAAW,SAAQ,OAAO;IAG5C,YAAmB,OAAgB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;QADA,YAAO,GAAP,OAAO,CAAS;QAFnC,UAAK,GAAG,mBAAa,CAAC,IAAI,CAAC;IAI3B,CAAC;CACJ;AAND,gCAMC;AAED;;GAEG;AACH,MAAa,mBAAoB,SAAQ,UAAU;IAAnD;;QACI,SAAI,GAAG,6BAAqB,CAAC;IACjC,CAAC;CAAA;AAFD,kDAEC;AAED;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,UAAU;IAAjD;;QACI,SAAI,GAAG,2BAAmB,CAAC;IAC/B,CAAC;CAAA;AAFD,8CAEC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,UAAU;IAAjD;;QACI,SAAI,GAAG,2BAAmB,CAAC;IAC/B,CAAC;CAAA;AAFD,8CAEC;AAED;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,UAAU;IAArD;;QACI,SAAI,GAAG,+BAAuB,CAAC;IACnC,CAAC;CAAA;AAFD,sDAEC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,UAAU;IAAjD;;QACI,SAAI,GAAG,2BAAmB,CAAC;IAC/B,CAAC;CAAA;AAFD,8CAEC"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LogWriter = void 0;
|
|
4
|
-
const events = require("../event");
|
|
5
4
|
const type_1 = require("@quenk/noni/lib/data/type");
|
|
6
5
|
const string_1 = require("@quenk/noni/lib/data/string");
|
|
7
6
|
const _1 = require(".");
|
|
8
|
-
const defaultTemplates = {
|
|
9
|
-
[events.EVENT_MESSAGE_BOUNCE]: 'Message from {from} to {to} bounced!',
|
|
10
|
-
[events.EVENT_MESSGAE_SEND]: 'Message from {from} to {to} delivered successfully!'
|
|
11
|
-
};
|
|
7
|
+
const defaultTemplates = {};
|
|
12
8
|
/**
|
|
13
9
|
* LogWriter provides an implementation of [[LogWritable]] for the VM.
|
|
14
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/log/writer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/log/writer.ts"],"names":[],"mappings":";;;AAAA,oDAA2D;AAE3D,wDAA0D;AAG1D,wBAA2C;AAsC3C,MAAM,gBAAgB,GAAiB,EAAE,CAAC;AAE1C;;GAEG;AACH,MAAa,SAAS;IAClB,YACW,IAAa,EACb,QAAuB,gBAAa,CAAC,KAAK,EAC1C,YAA0B,gBAAgB;QAF1C,SAAI,GAAJ,IAAI,CAAS;QACb,UAAK,GAAL,KAAK,CAAqC;QAC1C,cAAS,GAAT,SAAS,CAAiC;IAClD,CAAC;IAEJ,KAAK,CAAC,KAAoB,EAAE,GAAG,IAAY;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;YAAE,OAAO;QAE/B,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAEpB,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,gBAAa,CAAC,KAAK,CAAC;YACzB,KAAK,gBAAa,CAAC,KAAK;gBACpB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBACpB,MAAM;YAEV,KAAK,gBAAa,CAAC,MAAM,CAAC;YAC1B,KAAK,gBAAa,CAAC,IAAI;gBACnB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnB,MAAM;YAEV,KAAK,gBAAa,CAAC,KAAK;gBACpB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBACpB,MAAM;YAEV;gBACI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnB,MAAM;QACd,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAkB;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAC9C,IAAI,CAAC,KAAK,CACN,GAAG,CAAC,KAAK,EACT,IAAA,eAAQ,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAW,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAC1D,CAAC;IACN,CAAC;CACJ;AAxCD,8BAwCC"}
|
|
@@ -82,14 +82,12 @@ class Scheduler {
|
|
|
82
82
|
return;
|
|
83
83
|
this.isRunning = true;
|
|
84
84
|
let findNext = (task) => task.thread.state === shared_1.ThreadState.IDLE ||
|
|
85
|
-
(task.
|
|
86
|
-
task.
|
|
85
|
+
(task.thread.state === shared_1.ThreadState.MSG_WAIT &&
|
|
86
|
+
task.type !== exports.TASK_TYPE_RECEIVE);
|
|
87
87
|
let idx;
|
|
88
88
|
while ((idx = this.queue.findIndex(findNext)) !== -1) {
|
|
89
89
|
let task = this.queue.splice(idx, 1)[0];
|
|
90
|
-
|
|
91
|
-
// nothing else.
|
|
92
|
-
if (task.thread.state != shared_1.ThreadState.MSG_WAIT)
|
|
90
|
+
if (task.thread.state === shared_1.ThreadState.IDLE)
|
|
93
91
|
task.thread.state = shared_1.ThreadState.RUNNING;
|
|
94
92
|
// TODO: disatch event
|
|
95
93
|
task.exec()
|
|
@@ -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;AAE5C,QAAA,eAAe,GAAG,CAAC,CAAC;AACpB,QAAA,cAAc,GAAG,CAAC,CAAC;AACnB,QAAA,iBAAiB,GAAG,CAAC,CAAC;AASnC,MAAa,IAAI;IACb,YACW,IAAc,EACd,MAAoB,EACpB,KAA2B,EAC3B,IAAyB;QAHzB,SAAI,GAAJ,IAAI,CAAU;QACd,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAsB;QAC3B,SAAI,GAAJ,IAAI,CAAqB;IACjC,CAAC;CACP;AAPD,oBAOC;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,QAAQ,GAAG,CAAC,IAAU,EAAE,EAAE,CAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,oBAAW,CAAC,IAAI;YACtC,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../../src/actor/system/vm/scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ThreadCollector = void 0;
|
|
4
4
|
const array_1 = require("@quenk/noni/lib/data/array");
|
|
5
5
|
const lazy_1 = require("@quenk/noni/lib/data/lazy");
|
|
6
|
+
const shared_1 = require("./shared");
|
|
6
7
|
/**
|
|
7
8
|
* ThreadCollector is used to automatically deallocate dead threads from the
|
|
8
9
|
* system.
|
|
@@ -39,13 +40,16 @@ class ThreadCollector {
|
|
|
39
40
|
* This deallocates the thread if it has no children.
|
|
40
41
|
*/
|
|
41
42
|
async collect(thread) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
setTimeout(async () => {
|
|
44
|
+
if (!this.threads.has(thread))
|
|
45
|
+
return;
|
|
46
|
+
let { allocator } = (0, lazy_1.evaluate)(this.vm);
|
|
47
|
+
if ((0, array_1.empty)(allocator.getChildren(thread)) &&
|
|
48
|
+
thread.state === shared_1.THREAD_STATE_IDLE) {
|
|
49
|
+
this.unmark(thread);
|
|
50
|
+
await allocator.deallocate(thread);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
exports.ThreadCollector = ThreadCollector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/thread/collector.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AACnD,oDAA2D;
|
|
1
|
+
{"version":3,"file":"collector.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/thread/collector.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AACnD,oDAA2D;AAI3D,qCAA2D;AAE3D;;;;;;;GAOG;AACH,MAAa,eAAe;IACxB,YACW,EAAa,EACb,UAAuB,IAAI,GAAG,EAAE;QADhC,OAAE,GAAF,EAAE,CAAW;QACb,YAAO,GAAP,OAAO,CAAyB;IACxC,CAAC;IAEJ;;;;OAIG;IACH,IAAI,CAAC,MAAc;QACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAc;QACjB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,UAAU,CAAC,KAAK,IAAG,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO;YAEtC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEtC,IACI,IAAA,aAAK,EAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrB,MAAO,CAAC,KAAK,KAAK,0BAAiB,EACpD,CAAC;gBACC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpB,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;QACL,CAAC,CAAC,CAAA;IAAA,CAAC;CACN;AA5CD,0CA4CC"}
|
|
@@ -64,7 +64,8 @@ class JSThread {
|
|
|
64
64
|
}
|
|
65
65
|
async kill(address) {
|
|
66
66
|
this._assertValid();
|
|
67
|
-
|
|
67
|
+
if (address === this.self)
|
|
68
|
+
this.state = _1.ThreadState.INVALID;
|
|
68
69
|
await this.vm.sendKillSignal(this, address);
|
|
69
70
|
}
|
|
70
71
|
die() {
|
|
@@ -113,6 +114,7 @@ class JSThread {
|
|
|
113
114
|
if (!(0, array_1.empty)(this.mailbox)) {
|
|
114
115
|
let msg = this.mailbox.shift();
|
|
115
116
|
if (matcher.test(msg)) {
|
|
117
|
+
this.vm.events.dispatchMessageEvent(this.address, event_1.EVENT_MESSAGE_CONSUMED, address_1.ADDRESS_DISCARD, msg);
|
|
116
118
|
//XXX: Setting the state to idle here allows for
|
|
117
119
|
// nested tasks.
|
|
118
120
|
this.resume();
|
|
@@ -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;AAEzD,mDAM8B;AAC9B,iDAA+D;AAC/D,+CAKyB;AAGzB,wBAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../../../src/actor/system/vm/thread/shared/js.ts"],"names":[],"mappings":"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"}
|