@nsshunt/stsappframework 3.1.209 → 3.1.211
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/build.sh +5 -0
- package/dist/commonTypes.js.map +1 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +1 -1
- package/dist/masterprocessbase.js +3 -53
- package/dist/masterprocessbase.js.map +1 -1
- package/dist/processbase.js +4 -17
- package/dist/processbase.js.map +1 -1
- package/dist/testing/app.js +0 -457
- package/dist/testing/app.js.map +1 -1
- package/dist/workerprocessbase.js +1 -36
- package/dist/workerprocessbase.js.map +1 -1
- package/package.json +14 -13
- package/src/commonTypes.ts +2 -33
- package/src/index.ts +0 -5
- package/src/masterprocessbase.ts +4 -18
- package/src/processbase.ts +7 -22
- package/src/testing/app.ts +1 -530
- package/src/workerprocessbase.ts +1 -40
- package/types/commonTypes.d.ts +0 -23
- package/types/commonTypes.d.ts.map +1 -1
- package/types/index.d.ts +0 -5
- package/types/index.d.ts.map +1 -1
- package/types/masterprocessbase.d.ts.map +1 -1
- package/types/processbase.d.ts +0 -2
- package/types/processbase.d.ts.map +1 -1
- package/types/workerprocessbase.d.ts.map +1 -1
- package/dist/ipcMessageHandler.js +0 -189
- package/dist/ipcMessageHandler.js.map +0 -1
- package/dist/ipcMessageManager.js +0 -146
- package/dist/ipcMessageManager.js.map +0 -1
- package/dist/ipcMessageProcessorPrimary.js +0 -65
- package/dist/ipcMessageProcessorPrimary.js.map +0 -1
- package/dist/ipcMessageProcessorWorker.js +0 -61
- package/dist/ipcMessageProcessorWorker.js.map +0 -1
- package/dist/messagehandling/webWorkerMessageHandler.js +0 -280
- package/dist/messagehandling/webWorkerMessageHandler.js.map +0 -1
- package/dist/messagehandling/webWorkerSupport.js +0 -62
- package/dist/messagehandling/webWorkerSupport.js.map +0 -1
- package/dist/redisMessageHandler.js +0 -305
- package/dist/redisMessageHandler.js.map +0 -1
- package/dist/redisMessageHandler.test.js +0 -129
- package/dist/redisMessageHandler.test.js.map +0 -1
- package/dist/testing/app_ipc_legacy.js +0 -84
- package/dist/testing/app_ipc_legacy.js.map +0 -1
- package/dist/testing/app_ipcex.js +0 -69
- package/dist/testing/app_ipcex.js.map +0 -1
- package/dist/testing/app_ww.js +0 -54
- package/dist/testing/app_ww.js.map +0 -1
- package/src/ipcMessageHandler.ts +0 -201
- package/src/ipcMessageManager.ts +0 -171
- package/src/ipcMessageProcessorPrimary.ts +0 -76
- package/src/ipcMessageProcessorWorker.ts +0 -70
- package/src/messagehandling/webWorkerMessageHandler.ts +0 -341
- package/src/messagehandling/webWorkerSupport.ts +0 -66
- package/src/redisMessageHandler.test.ts +0 -157
- package/src/redisMessageHandler.ts +0 -371
- package/src/testing/app_ipc_legacy.ts +0 -87
- package/src/testing/app_ipcex.ts +0 -68
- package/src/testing/app_ww.ts +0 -68
- package/types/ipcMessageHandler.d.ts +0 -30
- package/types/ipcMessageHandler.d.ts.map +0 -1
- package/types/ipcMessageManager.d.ts +0 -30
- package/types/ipcMessageManager.d.ts.map +0 -1
- package/types/ipcMessageProcessorPrimary.d.ts +0 -26
- package/types/ipcMessageProcessorPrimary.d.ts.map +0 -1
- package/types/ipcMessageProcessorWorker.d.ts +0 -25
- package/types/ipcMessageProcessorWorker.d.ts.map +0 -1
- package/types/messagehandling/webWorkerMessageHandler.d.ts +0 -52
- package/types/messagehandling/webWorkerMessageHandler.d.ts.map +0 -1
- package/types/messagehandling/webWorkerSupport.d.ts +0 -6
- package/types/messagehandling/webWorkerSupport.d.ts.map +0 -1
- package/types/redisMessageHandler.d.ts +0 -51
- package/types/redisMessageHandler.d.ts.map +0 -1
- package/types/redisMessageHandler.test.d.ts +0 -2
- package/types/redisMessageHandler.test.d.ts.map +0 -1
- package/types/testing/app_ipc_legacy.d.ts +0 -2
- package/types/testing/app_ipc_legacy.d.ts.map +0 -1
- package/types/testing/app_ipcex.d.ts +0 -2
- package/types/testing/app_ipcex.d.ts.map +0 -1
- package/types/testing/app_ww.d.ts +0 -2
- package/types/testing/app_ww.d.ts.map +0 -1
package/src/testing/app_ipcex.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
2
|
-
import { ServiceConfigOptions } from './appConfig'
|
|
3
|
-
import { MasterProcessBase } from './../masterprocessbase'
|
|
4
|
-
import { WorkerProcess } from './appWorkerWSS'
|
|
5
|
-
|
|
6
|
-
import cluster, { Worker } from 'node:cluster'
|
|
7
|
-
|
|
8
|
-
import { JSONObject, defaultLogger } from '@nsshunt/stsutils';
|
|
9
|
-
|
|
10
|
-
import chalk from 'chalk';
|
|
11
|
-
|
|
12
|
-
import { IPCMessageHandler } from './../ipcMessageHandler'
|
|
13
|
-
|
|
14
|
-
const iterations = 2000;
|
|
15
|
-
|
|
16
|
-
if (cluster.isPrimary) {
|
|
17
|
-
new MasterProcessBase(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
|
|
18
|
-
setTimeout(() => {
|
|
19
|
-
const p: Record<string, IPCMessageHandler> = { };
|
|
20
|
-
for (const id in cluster.workers) {
|
|
21
|
-
const worker = cluster.workers[id] as Worker;
|
|
22
|
-
const p1: IPCMessageHandler = new IPCMessageHandler({
|
|
23
|
-
logger: defaultLogger,
|
|
24
|
-
requestResponseMessageTimeout: 5000,
|
|
25
|
-
namespace: 'aabbcc'
|
|
26
|
-
});
|
|
27
|
-
p1.Start(worker);
|
|
28
|
-
p1.on('fromworker', (args: string, pid: number, iterations: number, cb: any) => {
|
|
29
|
-
console.log(chalk.green(`inside primary: ${process.pid}: fromworker event handler: [${args},${pid},${iterations}]`));
|
|
30
|
-
cb(`response from primary - ${pid} ${iterations}`);
|
|
31
|
-
});
|
|
32
|
-
p[worker.id] = p1;
|
|
33
|
-
}
|
|
34
|
-
setTimeout(() => {
|
|
35
|
-
for (let i=0; i < iterations; i++) {
|
|
36
|
-
for (const [workerId, mh] of Object.entries(p)) {
|
|
37
|
-
mh.emit('fromprimary', { hello: "World", id: workerId, iterations: i }, (params: any) => {
|
|
38
|
-
console.log(chalk.cyan(`inside primary: ${process.pid}: fromprimary emit response: [${JSON.stringify(params)}]`));
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}, 1000);
|
|
43
|
-
}, 2000);
|
|
44
|
-
} else {
|
|
45
|
-
new WorkerProcess(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
|
|
46
|
-
setTimeout(async () => {
|
|
47
|
-
const w1: IPCMessageHandler = new IPCMessageHandler({
|
|
48
|
-
logger: defaultLogger,
|
|
49
|
-
requestResponseMessageTimeout: 5000,
|
|
50
|
-
namespace: 'aabbcc'
|
|
51
|
-
});
|
|
52
|
-
w1.Start();
|
|
53
|
-
w1.on('fromprimary', (args: JSONObject, cb: any) => {
|
|
54
|
-
console.log(chalk.yellow(`inside worker: ${process.pid}: fromprimary event handler: [${JSON.stringify(args)}]`));
|
|
55
|
-
cb({
|
|
56
|
-
txt: 'response fromprimary',
|
|
57
|
-
args
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
setTimeout(() => {
|
|
61
|
-
for (let i=0; i < iterations; i++) {
|
|
62
|
-
w1.emit('fromworker', "hello", process.pid, i, (args: any) => {
|
|
63
|
-
console.log(chalk.grey(`inside worker: ${process.pid}: fromworker emit response: [${args}]`));
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}, 1000);
|
|
67
|
-
}, 2000);
|
|
68
|
-
}
|
package/src/testing/app_ww.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
2
|
-
import { ServiceConfigOptions } from './appConfig'
|
|
3
|
-
import { MasterProcessBase } from './..'
|
|
4
|
-
import { WorkerProcess } from './appWorkerWSS'
|
|
5
|
-
|
|
6
|
-
import cluster from 'node:cluster';
|
|
7
|
-
|
|
8
|
-
import { JSONObject, defaultLogger } from '@nsshunt/stsutils';
|
|
9
|
-
|
|
10
|
-
import chalk from 'chalk';
|
|
11
|
-
|
|
12
|
-
import { IPCMessageHandler } from './../ipcMessageHandler'
|
|
13
|
-
|
|
14
|
-
import { RedisMessageHandler } from './../redisMessageHandler'
|
|
15
|
-
|
|
16
|
-
import { goptions } from '@nsshunt/stsconfig'
|
|
17
|
-
|
|
18
|
-
import { WebWorkerMessageHandler } from '../messagehandling/webWorkerMessageHandler'
|
|
19
|
-
|
|
20
|
-
import { Worker, MessagePort } from 'worker_threads';
|
|
21
|
-
|
|
22
|
-
import isNode from 'detect-node'
|
|
23
|
-
|
|
24
|
-
if (cluster.isPrimary) {
|
|
25
|
-
|
|
26
|
-
new MasterProcessBase(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
|
|
27
|
-
|
|
28
|
-
} else {
|
|
29
|
-
const worker = new WorkerProcess(ServiceConfigOptions(true, cluster.isPrimary));
|
|
30
|
-
worker.SetupServer();
|
|
31
|
-
|
|
32
|
-
setTimeout(async () => {
|
|
33
|
-
const fileName ='./dist/MessageHandling/webWorkerSupport.js';
|
|
34
|
-
const webWorker = new Worker(fileName);
|
|
35
|
-
if (isNode) {
|
|
36
|
-
webWorker.unref();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const wwServer: WebWorkerMessageHandler = new WebWorkerMessageHandler({
|
|
40
|
-
logger: defaultLogger,
|
|
41
|
-
role: 'SERVER',
|
|
42
|
-
namespace: 'mytestapp',
|
|
43
|
-
groups: [ ],
|
|
44
|
-
messagePort: webWorker as any
|
|
45
|
-
});
|
|
46
|
-
wwServer.Start();
|
|
47
|
-
|
|
48
|
-
wwServer.on('test', (arg1: JSONObject, callback: any) => {
|
|
49
|
-
callback( {
|
|
50
|
-
status: `PID: [${process.pid}]: response message from event = fromprimaryredis with args ${JSON.stringify(arg1)}`
|
|
51
|
-
})
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
wwServer.on('globalmessage', (arg1: JSONObject, callback: any) => {
|
|
55
|
-
callback( {
|
|
56
|
-
status: `PID: [${process.pid}]: response message from event = globalmessage with args ${JSON.stringify(arg1)}`
|
|
57
|
-
})
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
setTimeout(async () => {
|
|
61
|
-
const sendObj = { from: 'parent' };
|
|
62
|
-
console.log(chalk.cyan(`calling test = [${JSON.stringify(sendObj)}]`));
|
|
63
|
-
const retVal = await wwServer.emitex('test', sendObj);
|
|
64
|
-
console.log(chalk.cyan(`caller response from test = [${JSON.stringify(retVal)}]`));
|
|
65
|
-
}, 2000);
|
|
66
|
-
|
|
67
|
-
}, 2000);
|
|
68
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { TinyEmitter } from "tiny-emitter";
|
|
2
|
-
import { Worker } from 'node:cluster';
|
|
3
|
-
import { ISTSLogger, JSONObject } from '@nsshunt/stsutils';
|
|
4
|
-
export interface IPCMessageHandlerOptions {
|
|
5
|
-
logger: ISTSLogger;
|
|
6
|
-
requestResponseMessageTimeout: number;
|
|
7
|
-
namespace: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* IPC Message Handling.
|
|
11
|
-
*
|
|
12
|
-
* This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
|
|
13
|
-
* This class can be used for both tghe cluster primary and the cluster worker.
|
|
14
|
-
* Note: Currently groups handling is not supported. Use the redis version for this capability.
|
|
15
|
-
*/
|
|
16
|
-
export declare class IPCMessageHandler extends TinyEmitter {
|
|
17
|
-
#private;
|
|
18
|
-
constructor(options: IPCMessageHandlerOptions);
|
|
19
|
-
get __events(): JSONObject;
|
|
20
|
-
SetupPrimary: () => void;
|
|
21
|
-
SetupWorker: () => void;
|
|
22
|
-
SendMessage: (payload: JSONObject) => Promise<JSONObject>;
|
|
23
|
-
on(event: string, callback: any, ctx?: any): this;
|
|
24
|
-
off(event: string, callback?: any): this;
|
|
25
|
-
Start: (worker?: Worker) => void;
|
|
26
|
-
Stop: () => void;
|
|
27
|
-
get worker(): Worker | null;
|
|
28
|
-
emit(event: string, ...args: any[]): this;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=ipcMessageHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ipcMessageHandler.d.ts","sourceRoot":"","sources":["../src/ipcMessageHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAgB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAMzE,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;;gBAQlC,OAAO,EAAE,wBAAwB;IAU7C,IAAI,QAAQ,eAEX;IAMD,YAAY,aAyBX;IAMD,WAAW,aAyBV;IAED,WAAW,YAAmB,UAAU,KAAG,OAAO,CAAC,UAAU,CAAC,CAW7D;IAwBQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI;IAejD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAQjD,KAAK,YAAa,MAAM,UAOvB;IAED,IAAI,aAOH;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAEQ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAcrD"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ISTSLogger, JSONObject } from '@nsshunt/stsutils';
|
|
2
|
-
import { IIPCMessageProcessorIPCPayload } from './commonTypes';
|
|
3
|
-
export interface IPCMessageManagerOptions {
|
|
4
|
-
logger: ISTSLogger;
|
|
5
|
-
requestResponseMessageTimeout: number;
|
|
6
|
-
namespace: string;
|
|
7
|
-
role: 'SERVER' | 'CLIENT';
|
|
8
|
-
groups: string[];
|
|
9
|
-
messageSender: (payload: IIPCMessageProcessorIPCPayload, options: any) => void;
|
|
10
|
-
ProcessRequestMessage: (payload: IIPCMessageProcessorIPCPayload, options: any) => Promise<JSONObject>;
|
|
11
|
-
ProcessResponseMessage?: (reesponses: Record<string, IIPCMessageProcessorIPCPayload>, options: any) => Promise<boolean>;
|
|
12
|
-
messageReceiverStart: (options: any) => void;
|
|
13
|
-
messageReceiverStop: (options: any) => void;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* todo
|
|
17
|
-
* @typedef {Object} options - todo
|
|
18
|
-
* @property {boolean} [wssServer=false] - Create a web socket server on this worker instance
|
|
19
|
-
*/
|
|
20
|
-
export declare class IPCMessageManager {
|
|
21
|
-
#private;
|
|
22
|
-
constructor(options: IPCMessageManagerOptions);
|
|
23
|
-
get id(): string;
|
|
24
|
-
ReceivedMessageFromMaster(msg: any): void;
|
|
25
|
-
SendMessage: (payload: JSONObject, options?: any) => Promise<JSONObject>;
|
|
26
|
-
Start: (options?: any) => void;
|
|
27
|
-
Stop: (options?: any) => void;
|
|
28
|
-
ProcessMessage: (msg: any, options: any) => Promise<void>;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=ipcMessageManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ipcMessageManager.d.ts","sourceRoot":"","sources":["../src/ipcMessageManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI1D,OAAO,EAAE,8BAA8B,EAAoC,MAAM,eAAe,CAAA;AAEhG,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;IAC9E,qBAAqB,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IACrG,sBAAsB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACvH,oBAAoB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;IAC5C,mBAAmB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;CAC9C;AACD;;;;GAIG;AACH,qBAAa,iBAAiB;;gBAOd,OAAO,EAAE,wBAAwB;IAM7C,IAAI,EAAE,WAEL;IAGD,yBAAyB,CAAC,GAAG,EAAE,GAAG;IAIlC,WAAW,YAAa,UAAU,YAAY,GAAG,KAAG,OAAO,CAAC,UAAU,CAAC,CAUtE;IAwED,KAAK,aAAc,GAAG,UAGrB;IAED,IAAI,aAAc,GAAG,UAUpB;IAGD,cAAc,QAAe,GAAG,WAAW,GAAG,mBAuB7C;CACJ"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ISTSLogger, JSONObject } from '@nsshunt/stsutils';
|
|
2
|
-
import { Worker } from 'node:cluster';
|
|
3
|
-
import { IIPCMessageProcessorIPCPayload } from './commonTypes';
|
|
4
|
-
export interface IIPCMessageProcessorPrimary {
|
|
5
|
-
logger: ISTSLogger;
|
|
6
|
-
namespace: string;
|
|
7
|
-
processPayload?: (payload: IIPCMessageProcessorIPCPayload, options: any) => Promise<JSONObject>;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* IPC Message Handling.
|
|
11
|
-
*
|
|
12
|
-
* This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
|
|
13
|
-
* This class can be used for finer control for processing messages between the cluster primary and cluster workers.
|
|
14
|
-
* Use the ipcMessageHandler for a simpler implementation.
|
|
15
|
-
* This class is used for the cluster primary thread only.
|
|
16
|
-
* Note: Currently groups handling is not supported. Use the redis version for this capability.
|
|
17
|
-
*/
|
|
18
|
-
export declare class IPCMessageProcessorPrimary {
|
|
19
|
-
#private;
|
|
20
|
-
constructor(classOptions: IIPCMessageProcessorPrimary);
|
|
21
|
-
SendMessage: (payload: JSONObject) => Promise<JSONObject>;
|
|
22
|
-
Start: (worker: Worker) => void;
|
|
23
|
-
Stop: () => void;
|
|
24
|
-
get worker(): Worker | null;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=ipcMessageProcessorPrimary.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ipcMessageProcessorPrimary.d.ts","sourceRoot":"","sources":["../src/ipcMessageProcessorPrimary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAA;AAI9D,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAClG;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;;gBAIvB,YAAY,EAAE,2BAA2B;IA8BrD,WAAW,YAAmB,UAAU,KAAG,OAAO,CAAC,UAAU,CAAC,CAE7D;IAED,KAAK,WAAY,MAAM,UAGtB;IAED,IAAI,aAGH;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;CACJ"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ISTSLogger, JSONObject } from '@nsshunt/stsutils';
|
|
2
|
-
import { IIPCMessageProcessorIPCPayload } from './commonTypes';
|
|
3
|
-
export interface IIPCMessageProcessorWorker {
|
|
4
|
-
logger: ISTSLogger;
|
|
5
|
-
requestResponseMessageTimeout: number;
|
|
6
|
-
namespace: string;
|
|
7
|
-
processPayload?: (payload: IIPCMessageProcessorIPCPayload, options: any) => Promise<JSONObject>;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* IPC Message Handling.
|
|
11
|
-
*
|
|
12
|
-
* This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
|
|
13
|
-
* This class can be used for finer control for processing messages between the cluster primary and cluster workers.
|
|
14
|
-
* Use the ipcMessageHandler for a simpler implementation.
|
|
15
|
-
* This class is used for the cluster worker threads only.
|
|
16
|
-
* Note: Currently groups handling is not supported. Use the redis version for this capability.
|
|
17
|
-
*/
|
|
18
|
-
export declare class IPCMessageProcessorWorker {
|
|
19
|
-
#private;
|
|
20
|
-
constructor(classOptions: IIPCMessageProcessorWorker);
|
|
21
|
-
SendMessage: (payload: JSONObject) => Promise<JSONObject>;
|
|
22
|
-
Start: () => void;
|
|
23
|
-
Stop: () => void;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=ipcMessageProcessorWorker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ipcMessageProcessorWorker.d.ts","sourceRoot":"","sources":["../src/ipcMessageProcessorWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAA;AAI9D,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAClG;AAED;;;;;;;;GAQG;AACH,qBAAa,yBAAyB;;gBAGtB,YAAY,EAAE,0BAA0B;IAgCpD,WAAW,YAAmB,UAAU,KAAG,OAAO,CAAC,UAAU,CAAC,CAE7D;IAED,KAAK,aAEJ;IAED,IAAI,aAEH;CACJ"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { TinyEmitter } from "tiny-emitter";
|
|
2
|
-
import { ISTSLogger, JSONObject } from '@nsshunt/stsutils';
|
|
3
|
-
import { IServiceProcessContext, ProcessOptions } from '../commonTypes';
|
|
4
|
-
import { MessagePort } from 'worker_threads';
|
|
5
|
-
export interface IWebWorderMessageHandlerOptions {
|
|
6
|
-
logger: ISTSLogger;
|
|
7
|
-
role: 'SERVER' | 'CLIENT';
|
|
8
|
-
namespace: string;
|
|
9
|
-
groups: string[];
|
|
10
|
-
ignoreEvents?: string[];
|
|
11
|
-
processOptions?: ProcessOptions;
|
|
12
|
-
messagePort: MessagePort;
|
|
13
|
-
}
|
|
14
|
-
export interface IClientRecord {
|
|
15
|
-
id: string;
|
|
16
|
-
clientConnected: Date;
|
|
17
|
-
pingCount: number;
|
|
18
|
-
timeout: NodeJS.Timeout;
|
|
19
|
-
groups: string[];
|
|
20
|
-
serviceProcessContext?: IServiceProcessContext;
|
|
21
|
-
}
|
|
22
|
-
export interface IEventPayload {
|
|
23
|
-
__eventName: string;
|
|
24
|
-
args: any[];
|
|
25
|
-
}
|
|
26
|
-
export interface IEventRecord {
|
|
27
|
-
event: string;
|
|
28
|
-
callback: any;
|
|
29
|
-
ctx?: any;
|
|
30
|
-
}
|
|
31
|
-
export interface IPingData {
|
|
32
|
-
id: string;
|
|
33
|
-
groups: string[];
|
|
34
|
-
serviceProcessContext?: IServiceProcessContext;
|
|
35
|
-
}
|
|
36
|
-
export declare class WebWorkerMessageHandler extends TinyEmitter {
|
|
37
|
-
#private;
|
|
38
|
-
constructor(options: IWebWorderMessageHandlerOptions);
|
|
39
|
-
get clients(): Record<string, IClientRecord>;
|
|
40
|
-
get groups(): string[];
|
|
41
|
-
AddGroup: (group: string) => void;
|
|
42
|
-
RemoveGroup: (group: string) => void;
|
|
43
|
-
SetupPrimary: () => void;
|
|
44
|
-
on(event: string, callback: any, ctx?: any): this;
|
|
45
|
-
off(event: string, callback?: any): this;
|
|
46
|
-
Start: () => void;
|
|
47
|
-
Stop: () => void;
|
|
48
|
-
emit(event: string, ...args: any[]): this;
|
|
49
|
-
emitWithError(event: string, args: JSONObject, responseCb: (response: JSONObject | undefined) => void, errorCb: (error: any) => void): this;
|
|
50
|
-
emitex: (event: string, ...args: any[]) => Promise<JSONObject>;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=webWorkerMessageHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webWorkerMessageHandler.d.ts","sourceRoot":"","sources":["../../src/messagehandling/webWorkerMessageHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAkC,sBAAsB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAMvG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,WAAW,+BAA+B;IAC5C,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,WAAW,EAAE,WAAW,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,EAAE,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAA;IACvB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,qBAAqB,CAAC,EAAE,sBAAsB,CAAA;CACjD;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,GAAG,EAAE,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,GAAG,CAAC;IACd,GAAG,CAAC,EAAE,GAAG,CAAA;CACZ;AAED,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,qBAAqB,CAAC,EAAE,sBAAsB,CAAA;CACjD;AAED,qBAAa,uBAAwB,SAAQ,WAAW;;gBAQxC,OAAO,EAAE,+BAA+B;IAuDpD,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAE3C;IAED,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;IAED,QAAQ,UAAW,MAAM,UAKxB;IAED,WAAW,UAAW,MAAM,UAK3B;IAED,YAAY,aAyBX;IA4FQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI;IAcjD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAOjD,KAAK,aAEJ;IAED,IAAI,aAeH;IAEQ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAqBlD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAqB3I,MAAM,UAAgB,MAAM,WAAW,GAAG,EAAE,KAAG,OAAO,CAAC,UAAU,CAAC,CAKjE;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webWorkerSupport.d.ts","sourceRoot":"","sources":["../../src/messagehandling/webWorkerSupport.ts"],"names":[],"mappings":"AASA,qBAAa,aAAa;;;IAuCtB,cAAc,SAAe,GAAG,mBAG/B;CACJ"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { TinyEmitter } from "tiny-emitter";
|
|
2
|
-
import { ISTSLogger, JSONObject } from '@nsshunt/stsutils';
|
|
3
|
-
import { IServiceProcessContext, ProcessOptions } from './commonTypes';
|
|
4
|
-
export interface IRedisAdminManagerOptions {
|
|
5
|
-
redisUrl: string;
|
|
6
|
-
logger: ISTSLogger;
|
|
7
|
-
role: 'SERVER' | 'CLIENT';
|
|
8
|
-
namespace: string;
|
|
9
|
-
groups: string[];
|
|
10
|
-
ignoreEvents?: string[];
|
|
11
|
-
processOptions?: ProcessOptions;
|
|
12
|
-
}
|
|
13
|
-
export interface IClientRecord {
|
|
14
|
-
id: string;
|
|
15
|
-
clientConnected: Date;
|
|
16
|
-
pingCount: number;
|
|
17
|
-
timeout: NodeJS.Timeout;
|
|
18
|
-
groups: string[];
|
|
19
|
-
serviceProcessContext?: IServiceProcessContext;
|
|
20
|
-
}
|
|
21
|
-
export interface IEventPayload {
|
|
22
|
-
__eventName: string;
|
|
23
|
-
args: any[];
|
|
24
|
-
}
|
|
25
|
-
export interface IEventRecord {
|
|
26
|
-
event: string;
|
|
27
|
-
callback: any;
|
|
28
|
-
ctx?: any;
|
|
29
|
-
}
|
|
30
|
-
export interface IPingData {
|
|
31
|
-
id: string;
|
|
32
|
-
groups: string[];
|
|
33
|
-
serviceProcessContext?: IServiceProcessContext;
|
|
34
|
-
}
|
|
35
|
-
export declare class RedisMessageHandler extends TinyEmitter {
|
|
36
|
-
#private;
|
|
37
|
-
constructor(options: IRedisAdminManagerOptions);
|
|
38
|
-
get clients(): Record<string, IClientRecord>;
|
|
39
|
-
get groups(): string[];
|
|
40
|
-
AddGroup: (group: string) => void;
|
|
41
|
-
RemoveGroup: (group: string) => void;
|
|
42
|
-
SetupPrimary: () => void;
|
|
43
|
-
on(event: string, callback: any, ctx?: any): this;
|
|
44
|
-
off(event: string, callback?: any): this;
|
|
45
|
-
Start: () => void;
|
|
46
|
-
Stop: () => void;
|
|
47
|
-
emit(event: string, ...args: any[]): this;
|
|
48
|
-
emitWithError(event: string, args: JSONObject, responseCb: (response: JSONObject | undefined) => void, errorCb: (error: any) => void): this;
|
|
49
|
-
emitex: (event: string, ...args: any[]) => Promise<JSONObject>;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=redisMessageHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redisMessageHandler.d.ts","sourceRoot":"","sources":["../src/redisMessageHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAkC,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAUtG,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,EAAE,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAA;IACvB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,qBAAqB,CAAC,EAAE,sBAAsB,CAAA;CACjD;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,GAAG,EAAE,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,GAAG,CAAC;IACd,GAAG,CAAC,EAAE,GAAG,CAAA;CACZ;AAED,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,qBAAqB,CAAC,EAAE,sBAAsB,CAAA;CACjD;AAED,qBAAa,mBAAoB,SAAQ,WAAW;;gBAWpC,OAAO,EAAE,yBAAyB;IAmF9C,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAE3C;IAED,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;IAED,QAAQ,UAAW,MAAM,UAKxB;IAED,WAAW,UAAW,MAAM,UAK3B;IAED,YAAY,aAuBX;IA0FQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI;IAcjD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAOjD,KAAK,aAEJ;IAED,IAAI,aAaH;IAEQ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAsBlD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAuB3I,MAAM,UAAgB,MAAM,WAAW,GAAG,EAAE,KAAG,OAAO,CAAC,UAAU,CAAC,CAKjE;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redisMessageHandler.test.d.ts","sourceRoot":"","sources":["../src/redisMessageHandler.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app_ipc_legacy.d.ts","sourceRoot":"","sources":["../../src/testing/app_ipc_legacy.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app_ipcex.d.ts","sourceRoot":"","sources":["../../src/testing/app_ipcex.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app_ww.d.ts","sourceRoot":"","sources":["../../src/testing/app_ww.ts"],"names":[],"mappings":""}
|