Implement processor R/W
This commit is contained in:
@@ -2,6 +2,8 @@ import EventEmitter from "events";
|
||||
import fs from "fs";
|
||||
import Job from "./Job/Job";
|
||||
import Logger from "./Logger";
|
||||
import PduProcessor from "./PDUProcessor/PduProcessor";
|
||||
import ProcessorManager from "./PDUProcessor/ProcessorManager";
|
||||
import SmppSession from "./SmppSession";
|
||||
|
||||
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) => {
|
||||
sessionObj.defaultSingleJob = Job.deserialize(session.defaultSingleJob);
|
||||
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) {
|
||||
|
10
src/main.ts
10
src/main.ts
@@ -3,6 +3,7 @@ import Client from "./Client/Client";
|
||||
import ClientSessionManager from "./Client/ClientSessionManager";
|
||||
import HttpServer from "./HttpServer/HttpServer";
|
||||
import Logger from "./Logger";
|
||||
import SourceEnumeratorProcessor from "./PDUProcessor/Preprocessor/Client/SourceEnumeratorProcessor";
|
||||
import ProcessorManager from "./PDUProcessor/ProcessorManager";
|
||||
import WSServer from "./WS/WSServer";
|
||||
|
||||
@@ -43,12 +44,13 @@ async function main() {
|
||||
// await client.doConnect();
|
||||
// await client.doBind();
|
||||
// client.sendMultipleDefault();
|
||||
ProcessorManager.attachProcessor(client, ProcessorManager.getProcessor(SourceEnumeratorProcessor.name));
|
||||
console.log("OK");
|
||||
}
|
||||
|
||||
main();
|
||||
|
||||
// process.on('exit', cleanup);
|
||||
// process.on('SIGINT', cleanup);
|
||||
// process.on('SIGUSR1', cleanup);
|
||||
// process.on('SIGUSR2', cleanup);
|
||||
process.on('exit', cleanup);
|
||||
process.on('SIGINT', cleanup);
|
||||
process.on('SIGUSR1', cleanup);
|
||||
process.on('SIGUSR2', cleanup);
|
Reference in New Issue
Block a user