cry-ebus2 3.1.8 → 3.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EbusClientEvents.js +2 -1
- package/dist/EbusConfiguration.js +2 -1
- package/dist/EbusReject.js +5 -1
- package/dist/EbusReject.js.map +1 -1
- package/dist/EbusRejectReason.js +2 -1
- package/dist/EbusRequestOptions.js +2 -1
- package/dist/EbusUnpackedResult.js +12 -8
- package/dist/EbusUnpackedResult.js.map +1 -1
- package/dist/block.js +5 -1
- package/dist/block.js.map +1 -1
- package/dist/broker.js +46 -42
- package/dist/broker.js.map +1 -1
- package/dist/client.js +5 -1
- package/dist/client.js.map +1 -1
- package/dist/clientBlocking.js +39 -35
- package/dist/clientBlocking.js.map +1 -1
- package/dist/clientNonBlocking.js +51 -44
- package/dist/clientNonBlocking.js.map +1 -1
- package/dist/consts.js +4 -1
- package/dist/consts.js.map +1 -1
- package/dist/deferredPromise.js +4 -1
- package/dist/deferredPromise.js.map +1 -1
- package/dist/delayWorker.js +10 -6
- package/dist/delayWorker.js.map +1 -1
- package/dist/echoWorker.js +8 -4
- package/dist/echoWorker.js.map +1 -1
- package/dist/errorWorker.js +10 -6
- package/dist/errorWorker.js.map +1 -1
- package/dist/index.js +33 -15
- package/dist/index.js.map +1 -1
- package/dist/loadConfiguration.js +8 -4
- package/dist/loadConfiguration.js.map +1 -1
- package/dist/pub.js +13 -9
- package/dist/pub.js.map +1 -1
- package/dist/rejectWorker.js +10 -6
- package/dist/rejectWorker.js.map +1 -1
- package/dist/run/all.js +14 -12
- package/dist/run/all.js.map +1 -1
- package/dist/run/broker.mjs +6 -4
- package/dist/run/broker.mjs.map +1 -1
- package/dist/run/call.js +15 -13
- package/dist/run/call.js.map +1 -1
- package/dist/run/calling.js +8 -6
- package/dist/run/calling.js.map +1 -1
- package/dist/run/callingBurst.js +8 -6
- package/dist/run/callingBurst.js.map +1 -1
- package/dist/run/delay.mjs +6 -4
- package/dist/run/delay.mjs.map +1 -1
- package/dist/run/echo.mjs +6 -4
- package/dist/run/echo.mjs.map +1 -1
- package/dist/run/error.mjs +6 -4
- package/dist/run/error.mjs.map +1 -1
- package/dist/run/ping.mjs +14 -12
- package/dist/run/ping.mjs.map +1 -1
- package/dist/run/pub.js +8 -6
- package/dist/run/pub.js.map +1 -1
- package/dist/run/reject.js +6 -4
- package/dist/run/reject.js.map +1 -1
- package/dist/run/sub.js +17 -12
- package/dist/run/sub.js.map +1 -1
- package/dist/run/termimalCommands.js +3 -1
- package/dist/run/termimalCommands.js.map +1 -1
- package/dist/run/workers.js +8 -6
- package/dist/run/workers.js.map +1 -1
- package/dist/serialize.js +19 -11
- package/dist/serialize.js.map +1 -1
- package/dist/service.js +13 -9
- package/dist/service.js.map +1 -1
- package/dist/sleep.js +5 -1
- package/dist/sleep.js.map +1 -1
- package/dist/sub.js +14 -10
- package/dist/sub.js.map +1 -1
- package/dist/test/config.js +12 -10
- package/dist/test/config.js.map +1 -1
- package/dist/test/echo.js +21 -19
- package/dist/test/echo.js.map +1 -1
- package/dist/test/index.js +2 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/pack.js +35 -33
- package/dist/test/pack.js.map +1 -1
- package/dist/test/performance.js +9 -7
- package/dist/test/performance.js.map +1 -1
- package/dist/test/pub.js +16 -14
- package/dist/test/pub.js.map +1 -1
- package/dist/test/pub2.js +10 -8
- package/dist/test/pub2.js.map +1 -1
- package/dist/test/reject.js +18 -16
- package/dist/test/reject.js.map +1 -1
- package/dist/test/services.js +21 -19
- package/dist/test/services.js.map +1 -1
- package/dist/test/stress.js +9 -7
- package/dist/test/stress.js.map +1 -1
- package/dist/test/timing.js +29 -27
- package/dist/test/timing.js.map +1 -1
- package/dist/types.js +7 -4
- package/dist/types.js.map +1 -1
- package/dist/worker.js +47 -43
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.json +1 -1
package/dist/EbusClientEvents.js
CHANGED
package/dist/EbusReject.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EbusRejectError = void 0;
|
|
1
4
|
/**
|
|
2
5
|
* Throw this error to reject an EbusRequest.
|
|
3
6
|
*/
|
|
4
|
-
|
|
7
|
+
class EbusRejectError extends Error {
|
|
5
8
|
constructor(reason, message, more) {
|
|
6
9
|
super(message);
|
|
7
10
|
this.rejectMessage = message;
|
|
@@ -9,4 +12,5 @@ export class EbusRejectError extends Error {
|
|
|
9
12
|
this.more = more;
|
|
10
13
|
}
|
|
11
14
|
}
|
|
15
|
+
exports.EbusRejectError = EbusRejectError;
|
|
12
16
|
//# sourceMappingURL=EbusReject.js.map
|
package/dist/EbusReject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EbusReject.js","sourceRoot":"","sources":["../src/EbusReject.ts"],"names":[],"mappings":"AAEA;;GAEG;AAGH,
|
|
1
|
+
{"version":3,"file":"EbusReject.js","sourceRoot":"","sources":["../src/EbusReject.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AAGH,MAAa,eAAgB,SAAQ,KAAK;IAItC,YAAY,MAAwB,EAAE,OAAgB,EAAE,IAAU;QAC9D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAVD,0CAUC"}
|
package/dist/EbusRejectReason.js
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EbusUnpackedResult = void 0;
|
|
4
|
+
const serialize_js_1 = require("./serialize.js");
|
|
5
|
+
const types_js_1 = require("./types.js");
|
|
6
|
+
class EbusUnpackedResult {
|
|
4
7
|
constructor(data, opts, typeBuffer) {
|
|
5
8
|
this.data = data;
|
|
6
9
|
this.opts = opts;
|
|
7
10
|
this.type = "unknown";
|
|
8
|
-
if (typeBuffer.toString() === Message.Reply)
|
|
11
|
+
if (typeBuffer.toString() === types_js_1.Message.Reply)
|
|
9
12
|
this.type = "reply";
|
|
10
|
-
if (typeBuffer.toString() === Message.Error)
|
|
13
|
+
if (typeBuffer.toString() === types_js_1.Message.Error)
|
|
11
14
|
this.type = "error";
|
|
12
|
-
if (typeBuffer.toString() === Message.Reject)
|
|
15
|
+
if (typeBuffer.toString() === types_js_1.Message.Reject)
|
|
13
16
|
this.type = "reject";
|
|
14
|
-
if (typeBuffer.toString() === Message.Timeout)
|
|
17
|
+
if (typeBuffer.toString() === types_js_1.Message.Timeout)
|
|
15
18
|
this.type = "timeout";
|
|
16
|
-
this.unpack = unpack;
|
|
19
|
+
this.unpack = serialize_js_1.unpack;
|
|
17
20
|
}
|
|
18
21
|
}
|
|
22
|
+
exports.EbusUnpackedResult = EbusUnpackedResult;
|
|
19
23
|
//# sourceMappingURL=EbusUnpackedResult.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EbusUnpackedResult.js","sourceRoot":"","sources":["../src/EbusUnpackedResult.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"EbusUnpackedResult.js","sourceRoot":"","sources":["../src/EbusUnpackedResult.ts"],"names":[],"mappings":";;;AACA,iDAAwC;AACxC,yCAAqC;AAErC,MAAa,kBAAkB;IAK3B,YAAY,IAAO,EAAE,IAAkC,EAAE,UAAkB;QACvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAG,kBAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,GAAC,OAAO,CAAA;QAC5D,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAG,kBAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,GAAC,OAAO,CAAA;QAC5D,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAG,kBAAO,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,GAAC,QAAQ,CAAA;QAC9D,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAG,kBAAO,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,GAAC,SAAS,CAAA;QAChE,IAAI,CAAC,MAAM,GAAG,qBAAM,CAAC;IACzB,CAAC;CACJ;AAfD,gDAeC"}
|
package/dist/block.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.block = void 0;
|
|
4
|
+
async function block(msec) {
|
|
2
5
|
for (let until = new Date().valueOf() + msec;; new Date().valueOf() <= until) {
|
|
3
6
|
/* NOOP */
|
|
4
7
|
}
|
|
5
8
|
}
|
|
9
|
+
exports.block = block;
|
|
6
10
|
//# sourceMappingURL=block.js.map
|
package/dist/block.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,KAAK,CAAC,IAAY;IACpC,KAAK,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE;QAC3E,UAAU;KACb;AACL,CAAC;AAJD,sBAIC"}
|
package/dist/broker.js
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Broker = void 0;
|
|
4
|
+
const cry_helpers_1 = require("cry-helpers");
|
|
5
|
+
const zeromq_1 = require("zeromq");
|
|
6
|
+
const loadConfiguration_js_1 = require("./loadConfiguration.js");
|
|
7
|
+
const serialize_js_1 = require("./serialize.js");
|
|
8
|
+
const service_js_1 = require("./service.js");
|
|
9
|
+
const types_js_1 = require("./types.js");
|
|
7
10
|
const prefixes = ["EBUS_BROKER", "EBUS"];
|
|
8
|
-
const log = new Log(prefixes);
|
|
9
|
-
|
|
11
|
+
const log = new cry_helpers_1.Log(prefixes);
|
|
12
|
+
class Broker {
|
|
10
13
|
constructor(configuration = {}) {
|
|
11
|
-
this.socket = new Router({ sendHighWaterMark: 1, sendTimeout: 1 });
|
|
14
|
+
this.socket = new zeromq_1.Router({ sendHighWaterMark: 1, sendTimeout: 1 });
|
|
12
15
|
this.services = new Map();
|
|
13
16
|
this.workers = new Map();
|
|
14
|
-
this.configuration = loadConfiguration(prefixes, configuration);
|
|
15
|
-
this.publisher = new Publisher;
|
|
17
|
+
this.configuration = (0, loadConfiguration_js_1.loadConfiguration)(prefixes, configuration);
|
|
18
|
+
this.publisher = new zeromq_1.Publisher;
|
|
16
19
|
process.on("SIGINT", async () => { await this.exit(); });
|
|
17
20
|
process.on("SIGTERM", async () => { await this.exit(); });
|
|
18
21
|
process.on("SIGABRT", async () => { await this.exit(); });
|
|
@@ -64,17 +67,17 @@ export class Broker {
|
|
|
64
67
|
await this.publisher.bind(this.configuration.pubAddress);
|
|
65
68
|
log.status(`started broker on ${this.configuration.address}`);
|
|
66
69
|
log.status(`publisher ready on ${this.configuration.address}`);
|
|
67
|
-
await this.publisher.send(['ebus/start', pack(new Date(), {})]);
|
|
70
|
+
await this.publisher.send(['ebus/start', (0, serialize_js_1.pack)(new Date(), {})]);
|
|
68
71
|
if (this.configuration.brokerChecksWorkersWithHeartbeat)
|
|
69
72
|
this.checkWorkersOnHeartbeat();
|
|
70
73
|
const loop = async () => {
|
|
71
74
|
for await (const [sender, blank, header, messageType, ...rest] of this.socket) {
|
|
72
75
|
try {
|
|
73
76
|
switch (header.toString()) {
|
|
74
|
-
case Header.Client:
|
|
77
|
+
case types_js_1.Header.Client:
|
|
75
78
|
await this.handleClient(messageType, sender, ...rest);
|
|
76
79
|
break;
|
|
77
|
-
case Header.Worker:
|
|
80
|
+
case types_js_1.Header.Worker:
|
|
78
81
|
await this.handleWorker(messageType, sender, ...rest);
|
|
79
82
|
break;
|
|
80
83
|
default:
|
|
@@ -94,15 +97,15 @@ export class Broker {
|
|
|
94
97
|
clearInterval(this.interval);
|
|
95
98
|
this.interval = undefined;
|
|
96
99
|
log.status("broker stopping");
|
|
97
|
-
await this.publisher.send(['ebus/stop', pack(new Date(), {})]);
|
|
100
|
+
await this.publisher.send(['ebus/stop', (0, serialize_js_1.pack)(new Date(), {})]);
|
|
98
101
|
// notify all workers that we're shutting down
|
|
99
102
|
this.services.forEach(async (service) => {
|
|
100
103
|
for await (let [key, buff] of service.workers.entries()) {
|
|
101
104
|
await this.socket.send([
|
|
102
105
|
buff,
|
|
103
106
|
null,
|
|
104
|
-
Header.Worker,
|
|
105
|
-
Message.Shutdown,
|
|
107
|
+
types_js_1.Header.Worker,
|
|
108
|
+
types_js_1.Message.Shutdown,
|
|
106
109
|
]);
|
|
107
110
|
}
|
|
108
111
|
});
|
|
@@ -115,31 +118,31 @@ export class Broker {
|
|
|
115
118
|
async handleClient(messageType, client, ...rest) {
|
|
116
119
|
var _a;
|
|
117
120
|
switch (messageType && messageType.toString()) {
|
|
118
|
-
case Message.Request:
|
|
121
|
+
case types_js_1.Message.Request:
|
|
119
122
|
let [service, reqId, optsBuff, req] = rest;
|
|
120
|
-
let opts = serialize.unpack(optsBuff);
|
|
123
|
+
let opts = cry_helpers_1.serialize.unpack(optsBuff);
|
|
121
124
|
let timeout = opts.receiveTimeout || this.configuration.receiveTimeout;
|
|
122
125
|
log.debug(`broker received client request id ${reqId} for service ${service}`);
|
|
123
126
|
await this.dispatchRequest(reqId, client, service, timeout, optsBuff, req);
|
|
124
127
|
break;
|
|
125
|
-
case Message.Services:
|
|
126
|
-
let workers = serialize.pack(this.getActiveWorkes());
|
|
127
|
-
await this.socket.send([client, null, Header.Client, null, workers]);
|
|
128
|
+
case types_js_1.Message.Services:
|
|
129
|
+
let workers = cry_helpers_1.serialize.pack(this.getActiveWorkes());
|
|
130
|
+
await this.socket.send([client, null, types_js_1.Header.Client, null, workers]);
|
|
128
131
|
break;
|
|
129
|
-
case Message.Workers:
|
|
130
|
-
let services = serialize.pack(this.getServicesWithWorkes());
|
|
131
|
-
await this.socket.send([client, null, Header.Client, null, services]);
|
|
132
|
+
case types_js_1.Message.Workers:
|
|
133
|
+
let services = cry_helpers_1.serialize.pack(this.getServicesWithWorkes());
|
|
134
|
+
await this.socket.send([client, null, types_js_1.Header.Client, null, services]);
|
|
132
135
|
break;
|
|
133
|
-
case Message.Heartbeat:
|
|
134
|
-
await this.socket.send([client, null, Header.Client, Message.Heartbeat]);
|
|
136
|
+
case types_js_1.Message.Heartbeat:
|
|
137
|
+
await this.socket.send([client, null, types_js_1.Header.Client, types_js_1.Message.Heartbeat]);
|
|
135
138
|
break;
|
|
136
|
-
case Message.Publish:
|
|
139
|
+
case types_js_1.Message.Publish:
|
|
137
140
|
let [channel, message] = rest;
|
|
138
141
|
log.debug(`broker publishing message from client on ${channel}`);
|
|
139
142
|
await this.publisher.send([channel, message]);
|
|
140
143
|
//await this.socket.send([client, null, Header.Client, "ok" ])
|
|
141
144
|
break;
|
|
142
|
-
case Message.RestartAllWorkers:
|
|
145
|
+
case types_js_1.Message.RestartAllWorkers:
|
|
143
146
|
await this.restartAllWorkers((_a = rest === null || rest === void 0 ? void 0 : rest[0]) === null || _a === void 0 ? void 0 : _a.toString());
|
|
144
147
|
break;
|
|
145
148
|
default:
|
|
@@ -159,8 +162,8 @@ export class Broker {
|
|
|
159
162
|
this.socket.send([
|
|
160
163
|
worker,
|
|
161
164
|
null,
|
|
162
|
-
Header.Worker,
|
|
163
|
-
Message.ShutdownAndRestart,
|
|
165
|
+
types_js_1.Header.Worker,
|
|
166
|
+
types_js_1.Message.ShutdownAndRestart,
|
|
164
167
|
null,
|
|
165
168
|
null,
|
|
166
169
|
null,
|
|
@@ -175,27 +178,27 @@ export class Broker {
|
|
|
175
178
|
}
|
|
176
179
|
async handleWorker(type, worker, ...rest) {
|
|
177
180
|
switch (type && type.toString()) {
|
|
178
|
-
case Message.Ready: {
|
|
181
|
+
case types_js_1.Message.Ready: {
|
|
179
182
|
const [service] = rest;
|
|
180
183
|
await this.register(worker, service);
|
|
181
184
|
await this.publishWorkersAndServices();
|
|
182
185
|
break;
|
|
183
186
|
}
|
|
184
|
-
case Message.Heartbeat:
|
|
187
|
+
case types_js_1.Message.Heartbeat:
|
|
185
188
|
await this.updateHeartbeatForWorker(worker);
|
|
186
189
|
break;
|
|
187
|
-
case Message.Reject:
|
|
188
|
-
case Message.Timeout:
|
|
189
|
-
case Message.Reply:
|
|
190
|
-
case Message.Error:
|
|
190
|
+
case types_js_1.Message.Reject:
|
|
191
|
+
case types_js_1.Message.Timeout:
|
|
192
|
+
case types_js_1.Message.Reply:
|
|
193
|
+
case types_js_1.Message.Error:
|
|
191
194
|
const [client, blank, ...rep] = rest;
|
|
192
195
|
await this.dispatchReply(type, worker, client, ...rep);
|
|
193
196
|
break;
|
|
194
|
-
case Message.Disconnect:
|
|
197
|
+
case types_js_1.Message.Disconnect:
|
|
195
198
|
await this.deregister(worker);
|
|
196
199
|
await this.publishWorkersAndServices();
|
|
197
200
|
break;
|
|
198
|
-
case Message.Publish:
|
|
201
|
+
case types_js_1.Message.Publish:
|
|
199
202
|
const [channel, message] = rest;
|
|
200
203
|
log.debug(`broker publishing message from worker on ${channel}`);
|
|
201
204
|
await this.publisher.send([channel, message]);
|
|
@@ -205,8 +208,8 @@ export class Broker {
|
|
|
205
208
|
}
|
|
206
209
|
}
|
|
207
210
|
async publishWorkersAndServices() {
|
|
208
|
-
await this.publisher.send(['ebus/workers', pack(this.getServicesWithWorkes(), {})]);
|
|
209
|
-
await this.publisher.send(['ebus/services', pack(this.getServicesStatus(), {})]);
|
|
211
|
+
await this.publisher.send(['ebus/workers', (0, serialize_js_1.pack)(this.getServicesWithWorkes(), {})]);
|
|
212
|
+
await this.publisher.send(['ebus/services', (0, serialize_js_1.pack)(this.getServicesStatus(), {})]);
|
|
210
213
|
}
|
|
211
214
|
register(worker, service) {
|
|
212
215
|
var _a;
|
|
@@ -247,7 +250,7 @@ export class Broker {
|
|
|
247
250
|
}
|
|
248
251
|
else {
|
|
249
252
|
log.debug(`broker creating new service ${name}`);
|
|
250
|
-
const service = new Service(this.socket, key, log);
|
|
253
|
+
const service = new service_js_1.Service(this.socket, key, log);
|
|
251
254
|
this.services.set(key, service);
|
|
252
255
|
return service;
|
|
253
256
|
}
|
|
@@ -285,4 +288,5 @@ export class Broker {
|
|
|
285
288
|
return workers;
|
|
286
289
|
}
|
|
287
290
|
}
|
|
291
|
+
exports.Broker = Broker;
|
|
288
292
|
//# sourceMappingURL=broker.js.map
|
package/dist/broker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Client = void 0;
|
|
4
|
+
var clientNonBlocking_js_1 = require("./clientNonBlocking.js");
|
|
5
|
+
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return clientNonBlocking_js_1.ClientNonBlocking; } });
|
|
2
6
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AACA,+DAAqE;AAA5D,8GAAA,iBAAiB,OAAU"}
|
package/dist/clientBlocking.js
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientBlocking = void 0;
|
|
1
4
|
1;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
const cry_helpers_1 = require("cry-helpers");
|
|
6
|
+
const zeromq_1 = require("zeromq");
|
|
7
|
+
const loadConfiguration_js_1 = require("./loadConfiguration.js");
|
|
8
|
+
const types_js_1 = require("./types.js");
|
|
9
|
+
const serialize_js_1 = require("./serialize.js");
|
|
10
|
+
const EbusReject_js_1 = require("./EbusReject.js");
|
|
11
|
+
const EbusUnpackedResult_js_1 = require("./EbusUnpackedResult.js");
|
|
12
|
+
const tiny_typed_emitter_1 = require("tiny-typed-emitter");
|
|
10
13
|
const prefixes = ["EBUS_CLIENT", "EBUS"];
|
|
11
|
-
let log = new Log(prefixes);
|
|
14
|
+
let log = new cry_helpers_1.Log(prefixes);
|
|
12
15
|
/**
|
|
13
16
|
* ebus client, works one request at the time
|
|
14
17
|
* if broker is offline, each request is blocked until timeout runs out
|
|
15
18
|
*/
|
|
16
|
-
|
|
19
|
+
class ClientBlocking extends tiny_typed_emitter_1.TypedEmitter {
|
|
17
20
|
constructor(config = {}) {
|
|
18
21
|
super();
|
|
19
|
-
this.configuration = loadConfiguration(prefixes, config);
|
|
22
|
+
this.configuration = (0, loadConfiguration_js_1.loadConfiguration)(prefixes, config);
|
|
20
23
|
if (this.configuration.clientChecksBrokerWithHeartbeat)
|
|
21
24
|
this.startHeartbeat();
|
|
22
25
|
this.ebusOnline = false;
|
|
@@ -27,9 +30,9 @@ export class ClientBlocking extends TypedEmitter {
|
|
|
27
30
|
}
|
|
28
31
|
async publish(channel, message) {
|
|
29
32
|
let receiveTimeout = this.configuration.receiveTimeout;
|
|
30
|
-
let socket = new Request({ receiveTimeout });
|
|
33
|
+
let socket = new zeromq_1.Request({ receiveTimeout });
|
|
31
34
|
await socket.connect(this.configuration.address);
|
|
32
|
-
await socket.send([Header.Client, Message.Publish, channel, pack(message, {})]);
|
|
35
|
+
await socket.send([types_js_1.Header.Client, types_js_1.Message.Publish, channel, (0, serialize_js_1.pack)(message, {})]);
|
|
33
36
|
try {
|
|
34
37
|
if (!socket.closed)
|
|
35
38
|
socket.close();
|
|
@@ -38,9 +41,9 @@ export class ClientBlocking extends TypedEmitter {
|
|
|
38
41
|
}
|
|
39
42
|
async services() {
|
|
40
43
|
let receiveTimeout = this.configuration.receiveTimeout;
|
|
41
|
-
let socket = new Request({ receiveTimeout });
|
|
44
|
+
let socket = new zeromq_1.Request({ receiveTimeout });
|
|
42
45
|
await socket.connect(this.configuration.address);
|
|
43
|
-
await socket.send([Header.Client, Message.Services]);
|
|
46
|
+
await socket.send([types_js_1.Header.Client, types_js_1.Message.Services]);
|
|
44
47
|
log.debug(`ebus client requested services with receiveTimeout ${receiveTimeout}`);
|
|
45
48
|
const [blank, header, services] = await socket.receive();
|
|
46
49
|
try {
|
|
@@ -48,13 +51,13 @@ export class ClientBlocking extends TypedEmitter {
|
|
|
48
51
|
socket.close();
|
|
49
52
|
}
|
|
50
53
|
catch ( /* intentional */_a) { /* intentional */ }
|
|
51
|
-
return serialize.unpack(services);
|
|
54
|
+
return cry_helpers_1.serialize.unpack(services);
|
|
52
55
|
}
|
|
53
56
|
async subscribe(channel, message) {
|
|
54
57
|
let receiveTimeout = this.configuration.receiveTimeout;
|
|
55
|
-
let socket = new Request({ receiveTimeout });
|
|
58
|
+
let socket = new zeromq_1.Request({ receiveTimeout });
|
|
56
59
|
await socket.connect(this.configuration.address);
|
|
57
|
-
await socket.send([Header.Client, Message.Services]);
|
|
60
|
+
await socket.send([types_js_1.Header.Client, types_js_1.Message.Services]);
|
|
58
61
|
log.debug(`ebus client requested services with receiveTimeout ${receiveTimeout}`);
|
|
59
62
|
const [blank, header, services] = await socket.receive();
|
|
60
63
|
try {
|
|
@@ -62,13 +65,13 @@ export class ClientBlocking extends TypedEmitter {
|
|
|
62
65
|
socket.close();
|
|
63
66
|
}
|
|
64
67
|
catch ( /* intentional */_a) { /* intentional */ }
|
|
65
|
-
return serialize.unpack(services);
|
|
68
|
+
return cry_helpers_1.serialize.unpack(services);
|
|
66
69
|
}
|
|
67
70
|
async workers() {
|
|
68
71
|
let receiveTimeout = this.configuration.receiveTimeout;
|
|
69
|
-
let socket = new Request({ receiveTimeout });
|
|
72
|
+
let socket = new zeromq_1.Request({ receiveTimeout });
|
|
70
73
|
await socket.connect(this.configuration.address);
|
|
71
|
-
await socket.send([Header.Client, Message.Workers]);
|
|
74
|
+
await socket.send([types_js_1.Header.Client, types_js_1.Message.Workers]);
|
|
72
75
|
log.debug(`ebus client requested workers with receiveTimeout ${receiveTimeout}`);
|
|
73
76
|
const [blank, header, workers] = await socket.receive();
|
|
74
77
|
try {
|
|
@@ -76,31 +79,31 @@ export class ClientBlocking extends TypedEmitter {
|
|
|
76
79
|
socket.close();
|
|
77
80
|
}
|
|
78
81
|
catch ( /* intentional */_a) { /* intentional */ }
|
|
79
|
-
return serialize.unpack(workers);
|
|
82
|
+
return cry_helpers_1.serialize.unpack(workers);
|
|
80
83
|
}
|
|
81
84
|
async request(service, req, reqOpts = {}) {
|
|
82
85
|
let { data, opts, type } = await this._request(service, req, reqOpts);
|
|
83
86
|
switch (type && type.toString()) {
|
|
84
|
-
case Message.Timeout:
|
|
85
|
-
case Message.Reject:
|
|
86
|
-
case Message.Error:
|
|
87
|
-
this.lastError = unpack(data, opts);
|
|
87
|
+
case types_js_1.Message.Timeout:
|
|
88
|
+
case types_js_1.Message.Reject:
|
|
89
|
+
case types_js_1.Message.Error:
|
|
90
|
+
this.lastError = (0, serialize_js_1.unpack)(data, opts);
|
|
88
91
|
return undefined;
|
|
89
|
-
case Message.Reply:
|
|
90
|
-
return unpack(data, opts);
|
|
92
|
+
case types_js_1.Message.Reply:
|
|
93
|
+
return (0, serialize_js_1.unpack)(data, opts);
|
|
91
94
|
}
|
|
92
95
|
return undefined;
|
|
93
96
|
}
|
|
94
97
|
async requestUpacked(service, req, reqOpts) {
|
|
95
98
|
let { data, opts, type } = await this._request(service, req, reqOpts);
|
|
96
|
-
return new EbusUnpackedResult(data, opts, type);
|
|
99
|
+
return new EbusUnpackedResult_js_1.EbusUnpackedResult(data, opts, type);
|
|
97
100
|
}
|
|
98
101
|
async _request(service, req, opts) {
|
|
99
102
|
let receiveTimeout = opts.receiveTimeout || this.configuration.receiveTimeout;
|
|
100
|
-
let socket = new Request({ receiveTimeout });
|
|
103
|
+
let socket = new zeromq_1.Request({ receiveTimeout });
|
|
101
104
|
await socket.connect(this.configuration.address);
|
|
102
105
|
log.debug(`ebus client requesting '${req}' from '${service}' with reqId ${this.requestId + 1}, receiveTimeout ${receiveTimeout}`);
|
|
103
|
-
await socket.send([Header.Client, Message.Request, service, ++this.requestId, serialize.pack(opts), pack(req, opts)]);
|
|
106
|
+
await socket.send([types_js_1.Header.Client, types_js_1.Message.Request, service, ++this.requestId, cry_helpers_1.serialize.pack(opts), (0, serialize_js_1.pack)(req, opts)]);
|
|
104
107
|
try {
|
|
105
108
|
const [blank, type, returnRequestId, optsBuff, res] = await socket.receive();
|
|
106
109
|
log.debug(`ebus client received response for reqId ${returnRequestId} of `, type);
|
|
@@ -109,12 +112,12 @@ export class ClientBlocking extends TypedEmitter {
|
|
|
109
112
|
socket.close();
|
|
110
113
|
}
|
|
111
114
|
catch ( /* intentional */_a) { /* intentional */ }
|
|
112
|
-
let opts = serialize.unpack(optsBuff);
|
|
115
|
+
let opts = cry_helpers_1.serialize.unpack(optsBuff);
|
|
113
116
|
return { data: res, opts, type };
|
|
114
117
|
}
|
|
115
118
|
catch (err) {
|
|
116
119
|
log.warn(`request expired at client waiting for '${service}' after ${receiveTimeout} ms`);
|
|
117
|
-
this.lastError = new EbusRejectError("timeout", `timeout in client requesting '${service}' after ${receiveTimeout} ms`);
|
|
120
|
+
this.lastError = new EbusReject_js_1.EbusRejectError("timeout", `timeout in client requesting '${service}' after ${receiveTimeout} ms`);
|
|
118
121
|
}
|
|
119
122
|
try {
|
|
120
123
|
if (!socket.closed)
|
|
@@ -130,11 +133,11 @@ export class ClientBlocking extends TypedEmitter {
|
|
|
130
133
|
try {
|
|
131
134
|
if (!socket) {
|
|
132
135
|
log.status("client connected new heartbeat socket");
|
|
133
|
-
socket = new Request({ receiveTimeout });
|
|
136
|
+
socket = new zeromq_1.Request({ receiveTimeout });
|
|
134
137
|
await socket.connect(this.configuration.address);
|
|
135
138
|
}
|
|
136
139
|
try {
|
|
137
|
-
await socket.send([Header.Client, Message.Heartbeat]);
|
|
140
|
+
await socket.send([types_js_1.Header.Client, types_js_1.Message.Heartbeat]);
|
|
138
141
|
await socket.receive();
|
|
139
142
|
if (!this.ebusOnline) {
|
|
140
143
|
this.ebusOnline = true;
|
|
@@ -170,4 +173,5 @@ export class ClientBlocking extends TypedEmitter {
|
|
|
170
173
|
}, this.configuration.heartbeatInterval);
|
|
171
174
|
}
|
|
172
175
|
}
|
|
176
|
+
exports.ClientBlocking = ClientBlocking;
|
|
173
177
|
//# sourceMappingURL=clientBlocking.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientBlocking.js","sourceRoot":"","sources":["../src/clientBlocking.ts"],"names":[],"mappings":"AAAA,CAAC,CAAA;AACD,
|
|
1
|
+
{"version":3,"file":"clientBlocking.js","sourceRoot":"","sources":["../src/clientBlocking.ts"],"names":[],"mappings":"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"}
|