Implement processor R/W
This commit is contained in:
@@ -2,6 +2,8 @@ import EventEmitter from "events";
|
|||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import Job from "./Job/Job";
|
import Job from "./Job/Job";
|
||||||
import Logger from "./Logger";
|
import Logger from "./Logger";
|
||||||
|
import PduProcessor from "./PDUProcessor/PduProcessor";
|
||||||
|
import ProcessorManager from "./PDUProcessor/ProcessorManager";
|
||||||
import SmppSession from "./SmppSession";
|
import SmppSession from "./SmppSession";
|
||||||
|
|
||||||
export default abstract class SessionManager {
|
export default abstract class SessionManager {
|
||||||
@@ -67,6 +69,18 @@ export default abstract class SessionManager {
|
|||||||
this.createSession(session.url || session.port, session.username, session.password).then((sessionObj: SmppSession) => {
|
this.createSession(session.url || session.port, session.username, session.password).then((sessionObj: SmppSession) => {
|
||||||
sessionObj.defaultSingleJob = Job.deserialize(session.defaultSingleJob);
|
sessionObj.defaultSingleJob = Job.deserialize(session.defaultSingleJob);
|
||||||
sessionObj.defaultMultipleJob = Job.deserialize(session.defaultMultipleJob);
|
sessionObj.defaultMultipleJob = Job.deserialize(session.defaultMultipleJob);
|
||||||
|
|
||||||
|
let loadedProcessors: PduProcessor[] = session.preprocessors.concat(session.postprocessors);
|
||||||
|
sessionObj.appliedProcessors.forEach((processor: PduProcessor) => {
|
||||||
|
if (!loadedProcessors.find(p => p.name === processor.name)) {
|
||||||
|
ProcessorManager.detachProcessor(sessionObj, processor);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
loadedProcessors.forEach((processor: PduProcessor) => {
|
||||||
|
if (!sessionObj.appliedProcessors.find(p => p.name === processor.name)) {
|
||||||
|
ProcessorManager.attachProcessor(sessionObj, ProcessorManager.getProcessor(processor.name));
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
10
src/main.ts
10
src/main.ts
@@ -3,6 +3,7 @@ import Client from "./Client/Client";
|
|||||||
import ClientSessionManager from "./Client/ClientSessionManager";
|
import ClientSessionManager from "./Client/ClientSessionManager";
|
||||||
import HttpServer from "./HttpServer/HttpServer";
|
import HttpServer from "./HttpServer/HttpServer";
|
||||||
import Logger from "./Logger";
|
import Logger from "./Logger";
|
||||||
|
import SourceEnumeratorProcessor from "./PDUProcessor/Preprocessor/Client/SourceEnumeratorProcessor";
|
||||||
import ProcessorManager from "./PDUProcessor/ProcessorManager";
|
import ProcessorManager from "./PDUProcessor/ProcessorManager";
|
||||||
import WSServer from "./WS/WSServer";
|
import WSServer from "./WS/WSServer";
|
||||||
|
|
||||||
@@ -43,12 +44,13 @@ async function main() {
|
|||||||
// await client.doConnect();
|
// await client.doConnect();
|
||||||
// await client.doBind();
|
// await client.doBind();
|
||||||
// client.sendMultipleDefault();
|
// client.sendMultipleDefault();
|
||||||
|
ProcessorManager.attachProcessor(client, ProcessorManager.getProcessor(SourceEnumeratorProcessor.name));
|
||||||
console.log("OK");
|
console.log("OK");
|
||||||
}
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|
||||||
// process.on('exit', cleanup);
|
process.on('exit', cleanup);
|
||||||
// process.on('SIGINT', cleanup);
|
process.on('SIGINT', cleanup);
|
||||||
// process.on('SIGUSR1', cleanup);
|
process.on('SIGUSR1', cleanup);
|
||||||
// process.on('SIGUSR2', cleanup);
|
process.on('SIGUSR2', cleanup);
|
Reference in New Issue
Block a user