Implement deliverSmReply

This commit is contained in:
David Majdandžić
2023-04-04 10:13:21 +02:00
parent c498f6cfb7
commit 3acb1f0889
3 changed files with 21 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ import {Center} from "../Center/Center";
import {PDU} from "../CommonObjects"; import {PDU} from "../CommonObjects";
import {Job} from "../Job/Job"; import {Job} from "../Job/Job";
import Logger from "../Logger"; import Logger from "../Logger";
import {DeliverSmReplyProcessor} from "../PDUProcessor/Client/DeliverSmReplyProcessor";
import {PduProcessor} from "../PDUProcessor/PduProcessor"; import {PduProcessor} from "../PDUProcessor/PduProcessor";
import PersistentPromise from "../PersistentPromise"; import PersistentPromise from "../PersistentPromise";
import {SmppSession} from "../SmppSession"; import {SmppSession} from "../SmppSession";
@@ -42,6 +43,8 @@ export class Client extends SmppSession {
this._defaultSingleJob = Job.createEmptySingle('submit_sm'); this._defaultSingleJob = Job.createEmptySingle('submit_sm');
this._defaultMultipleJob = Job.createEmptyMultiple('submit_sm'); this._defaultMultipleJob = Job.createEmptyMultiple('submit_sm');
this.addPduProcessor(PduProcessor.getProcessor(DeliverSmReplyProcessor.name));
this.logger = new Logger(`Client-${id}`); this.logger = new Logger(`Client-${id}`);
} }

View File

@@ -0,0 +1,16 @@
import {Client} from "../../Client/Client";
import {PDU} from "../../CommonObjects";
import {PduProcessor} from "../PduProcessor";
export class DeliverSmReplyProcessor extends PduProcessor {
serverSessionType: string = Client.name;
processPdu(session: any, pdu: PDU, ...args: any[]): Promise<any> {
return new Promise<any>((resolve, reject) => {
if (!!pdu.command && pdu.command === 'deliver_sm') {
// @ts-ignore
session.send(pdu.response());
}
});
}
}

View File

@@ -4,6 +4,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 {DeliverSmReplyProcessor} from "./PDUProcessor/Client/DeliverSmReplyProcessor";
import {DestinationEnumeratorProcessor} from "./PDUProcessor/Client/DestinationEnumeratorProcessor"; import {DestinationEnumeratorProcessor} from "./PDUProcessor/Client/DestinationEnumeratorProcessor";
import {SourceEnumeratorProcessor} from "./PDUProcessor/Client/SourceEnumeratorProcessor"; import {SourceEnumeratorProcessor} from "./PDUProcessor/Client/SourceEnumeratorProcessor";
import {DebugPduProcessor} from "./PDUProcessor/DebugPduProcessor"; import {DebugPduProcessor} from "./PDUProcessor/DebugPduProcessor";
@@ -19,6 +20,7 @@ PduProcessor.addProcessor(DebugPduProcessor);
PduProcessor.addProcessor(EchoPduProcessor); PduProcessor.addProcessor(EchoPduProcessor);
PduProcessor.addProcessor(DestinationEnumeratorProcessor); PduProcessor.addProcessor(DestinationEnumeratorProcessor);
PduProcessor.addProcessor(SourceEnumeratorProcessor); PduProcessor.addProcessor(SourceEnumeratorProcessor);
PduProcessor.addProcessor(DeliverSmReplyProcessor);
let clientManager: ClientSessionManager = new ClientSessionManager(); let clientManager: ClientSessionManager = new ClientSessionManager();
let centerManager: CenterSessionManager = new CenterSessionManager(); let centerManager: CenterSessionManager = new CenterSessionManager();