Minor fixes

This commit is contained in:
David Majdandžić
2023-04-05 19:53:08 +02:00
parent 42493aab50
commit e0fd3a5c31
7 changed files with 19 additions and 16 deletions

View File

@@ -3,6 +3,7 @@ import Job from "../Job/Job";
import Logger from "../Logger"; import Logger from "../Logger";
import PduProcessor from "../PDUProcessor/PduProcessor"; import PduProcessor from "../PDUProcessor/PduProcessor";
import BindTranscieverReplyProcessor from "../PDUProcessor/Postprocessor/Center/BindTranscieverReplyProcessor"; import BindTranscieverReplyProcessor from "../PDUProcessor/Postprocessor/Center/BindTranscieverReplyProcessor";
import DebugPduProcessor from "../PDUProcessor/Postprocessor/Center/DebugPduProcessor";
import SubmitSmReplyProcessor from "../PDUProcessor/Postprocessor/Center/SubmitSmReplyProcessor"; import SubmitSmReplyProcessor from "../PDUProcessor/Postprocessor/Center/SubmitSmReplyProcessor";
import ProcessorManager from "../PDUProcessor/ProcessorManager"; import ProcessorManager from "../PDUProcessor/ProcessorManager";
import SmppSession from "../SmppSession"; import SmppSession from "../SmppSession";
@@ -41,6 +42,7 @@ export default class Center extends SmppSession {
ProcessorManager.attachProcessor(this, ProcessorManager.getProcessor(SubmitSmReplyProcessor.name)); ProcessorManager.attachProcessor(this, ProcessorManager.getProcessor(SubmitSmReplyProcessor.name));
ProcessorManager.attachProcessor(this, ProcessorManager.getProcessor(BindTranscieverReplyProcessor.name)); ProcessorManager.attachProcessor(this, ProcessorManager.getProcessor(BindTranscieverReplyProcessor.name));
ProcessorManager.attachProcessor(this, ProcessorManager.getProcessor(DebugPduProcessor.name));
this.logger = new Logger(`Center-${id}`); this.logger = new Logger(`Center-${id}`);

View File

@@ -26,7 +26,6 @@ export default class Client extends SmppSession {
_password: string; _password: string;
_id: number; _id: number;
_status: string = this.STATUSES[0]; _status: string = this.STATUSES[0];
pduProcessors: PduProcessor[] = [];
readonly logger: Logger; readonly logger: Logger;
private session?: any; private session?: any;
private connectPromise: PersistentPromise | null = null; private connectPromise: PersistentPromise | null = null;
@@ -197,7 +196,7 @@ export default class Client extends SmppSession {
}, this.eventSessionConnected.bind(this)); }, this.eventSessionConnected.bind(this));
this.session.on('error', this.eventSessionError.bind(this)); this.session.on('error', this.eventSessionError.bind(this));
this.session.on('close', this.eventSessionClose.bind(this)); this.session.on('close', this.eventSessionClose.bind(this));
this.session.on('pdu', this.eventAnyPdu.bind(this)); this.session.on('pdu', this.eventAnyPdu.bind(this, this.session));
}); });
} }

View File

@@ -11,7 +11,7 @@ const zlib = require("zlib");
const SERVER_PORT: number = Number(process.env.SERVER_PORT) || 8190; const SERVER_PORT: number = Number(process.env.SERVER_PORT) || 8190;
export class HttpServer { export default class HttpServer {
private readonly clientRequestHandler: RequestHandler; private readonly clientRequestHandler: RequestHandler;
private readonly centerRequestHandler: RequestHandler; private readonly centerRequestHandler: RequestHandler;

View File

@@ -8,7 +8,7 @@ export default class DebugPduProcessor extends Postprocessor {
processPdu(session: any, pdu: any, entity?: SmppSession | undefined): Promise<any> { processPdu(session: any, pdu: any, entity?: SmppSession | undefined): Promise<any> {
return new Promise<any>((resolve, reject) => { return new Promise<any>((resolve, reject) => {
if (pdu.response) { if (!!pdu.command && pdu.command === "submit_sm") {
session.send(pdu.response(), (replyPdu: any) => { session.send(pdu.response(), (replyPdu: any) => {
resolve(replyPdu); resolve(replyPdu);
}); });

View File

@@ -10,8 +10,8 @@ export default class EchoPduProcessor extends Postprocessor {
processPdu(session: any, pdu: any, entity?: SmppSession | undefined): Promise<any> { processPdu(session: any, pdu: any, entity?: SmppSession | undefined): Promise<any> {
return new Promise<any>((resolve, reject) => { return new Promise<any>((resolve, reject) => {
if (!!pdu.command && pdu.command === "submit_sm") {
let promises = []; let promises = [];
if (pdu.response) {
let replyPromise = session.send(pdu.response()); let replyPromise = session.send(pdu.response());
let sendPromise = session.send(new smpp.PDU('deliver_sm', { let sendPromise = session.send(new smpp.PDU('deliver_sm', {
source_addr: pdu.destination_addr, source_addr: pdu.destination_addr,
@@ -20,12 +20,12 @@ export default class EchoPduProcessor extends Postprocessor {
})); }));
promises.push(replyPromise); promises.push(replyPromise);
promises.push(sendPromise); promises.push(sendPromise);
}
Promise.all(promises).then((replyPdus: any) => { Promise.all(promises).then((replyPdus: any) => {
resolve(replyPdus); resolve(replyPdus);
}).catch((error: any) => { }).catch((error: any) => {
reject(error); reject(error);
}); });
}
}); });
} }
} }

View File

@@ -186,6 +186,7 @@ export default abstract class SmppSession {
eventAnyPdu(session: any, pdu: PDU): Promise<any> { eventAnyPdu(session: any, pdu: PDU): Promise<any> {
if (!!pdu) { if (!!pdu) {
this.eventEmitter.emit(this.EVENT.ANY_PDU, pdu); this.eventEmitter.emit(this.EVENT.ANY_PDU, pdu);
// console.log("IS PDU TIME");
this.logger.log6(pdu); this.logger.log6(pdu);
this.processors.Postprocessor.forEach((processor: PduProcessor) => processor.processPdu(session, pdu, this)); this.processors.Postprocessor.forEach((processor: PduProcessor) => processor.processPdu(session, pdu, this));
} }

View File

@@ -1,6 +1,7 @@
import CenterSessionManager from "./Center/CenterSessionManager"; import CenterSessionManager from "./Center/CenterSessionManager";
import Client from "./Client/Client"; import Client from "./Client/Client";
import ClientSessionManager from "./Client/ClientSessionManager"; import ClientSessionManager from "./Client/ClientSessionManager";
import HttpServer from "./HttpServer/HttpServer";
import Logger from "./Logger"; import Logger from "./Logger";
import ProcessorManager from "./PDUProcessor/ProcessorManager"; import ProcessorManager from "./PDUProcessor/ProcessorManager";
import WSServer from "./WS/WSServer"; import WSServer from "./WS/WSServer";
@@ -12,9 +13,9 @@ let logger = new Logger("main");
new ProcessorManager(); new ProcessorManager();
let clientManager: ClientSessionManager = new ClientSessionManager(); let clientManager: ClientSessionManager = new ClientSessionManager();
let centerManager: CenterSessionManager = new CenterSessionManager(); let centerManager: CenterSessionManager = new CenterSessionManager();
let wss: WSServer = new WSServer([clientManager, centerManager]);
// let httpServer: HttpServer = new HttpServer(clientManager, centerManager); let wss: WSServer = new WSServer([clientManager, centerManager]);
let httpServer: HttpServer = new HttpServer(clientManager, centerManager);
function cleanup(): void { function cleanup(): void {
logger.log1("Cleaning up..."); logger.log1("Cleaning up...");
@@ -39,9 +40,9 @@ async function main() {
// console.log(ProcessorManager.getProcessorsForType(Client.name)); // console.log(ProcessorManager.getProcessorsForType(Client.name));
// ProcessorManager.attachProcessor(client, ProcessorManager.getProcessor(SourceEnumeratorProcessor.name)); // ProcessorManager.attachProcessor(client, ProcessorManager.getProcessor(SourceEnumeratorProcessor.name));
await client.doConnect(); // await client.doConnect();
await client.doBind(); // await client.doBind();
client.sendMultipleDefault(); // client.sendMultipleDefault();
console.log("OK"); console.log("OK");
} }