More refactoring
This commit is contained in:
@@ -2,7 +2,6 @@ import {Job} from "../Job/Job";
|
||||
import Logger from "../Logger";
|
||||
import {PduProcessor} from "../PDUProcessor/PduProcessor";
|
||||
import {SmppSession} from "../SmppSession";
|
||||
import CenterStatus from "./CenterStatus";
|
||||
|
||||
const NanoTimer = require('nanotimer');
|
||||
const smpp = require("smpp");
|
||||
@@ -180,11 +179,11 @@ export class Center extends SmppSession {
|
||||
|
||||
private updateStatus(): void {
|
||||
if (this.sessions.length > 0) {
|
||||
this.status = CenterStatus.CONNECTED;
|
||||
this.setStatus(2);
|
||||
} else if (this.pendingSessions.length > 0) {
|
||||
this.status = CenterStatus.CONNECTING;
|
||||
this.setStatus(1);
|
||||
} else {
|
||||
this.status = CenterStatus.WAITING_CONNECTION;
|
||||
this.setStatus(0);
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,5 +0,0 @@
|
||||
export default class CenterStatus {
|
||||
static readonly WAITING_CONNECTION: string = "WAITING CONNECTION";
|
||||
static readonly CONNECTING: string = "CONNECTING";
|
||||
static readonly CONNECTED: string = "CONNECTED";
|
||||
}
|
@@ -8,7 +8,6 @@ const NanoTimer = require('nanotimer');
|
||||
const smpp = require("smpp");
|
||||
|
||||
const AUTO_ENQUIRE_LINK_PERIOD: number = Number(process.env.AUTO_ENQUIRE_LINK_PERIOD) || 30000;
|
||||
const MESSAGE_SEND_UPDATE_DELAY: number = Number(process.env.MESSAGE_SEND_UPDATE_DELAY) || 500;
|
||||
|
||||
export class Client extends SmppSession {
|
||||
readonly STATUS: string[] = [
|
||||
@@ -103,12 +102,8 @@ export class Client extends SmppSession {
|
||||
}
|
||||
|
||||
close(): Promise<void> {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.logger.log1(`Client-${this.getId()} closing connection`);
|
||||
this.session.close();
|
||||
this.setStatus(0);
|
||||
resolve();
|
||||
});
|
||||
return Promise.resolve(this.session.close());
|
||||
}
|
||||
|
||||
sendPdu(pdu: object, force?: boolean): Promise<object> {
|
||||
@@ -141,7 +136,7 @@ export class Client extends SmppSession {
|
||||
this.eventEmitter.emit(this.EVENT.MESSAGE_SEND_COUNTER_UPDATE_EVENT, counter);
|
||||
previousUpdateCounter = counter;
|
||||
}
|
||||
}, '', `${MESSAGE_SEND_UPDATE_DELAY / 1000} s`);
|
||||
}, '', `${this.MESSAGE_SEND_UPDATE_DELAY / 1000} s`);
|
||||
|
||||
let count = job.count || 1;
|
||||
let interval = 1 / (job.perSecond || 1);
|
||||
|
@@ -1,2 +0,0 @@
|
||||
export default class ClientStatus {
|
||||
}
|
15
src/PDUProcessor/PduDebugProcessor.ts
Normal file
15
src/PDUProcessor/PduDebugProcessor.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import {PduProcessor} from "./PduProcessor";
|
||||
|
||||
export class PduDebugProcessor implements PduProcessor {
|
||||
processPdu(session: any, pdu: any, ...args: any[]): Promise<any> {
|
||||
return new Promise<any>((resolve, reject) => {
|
||||
session.send(pdu.response(), (replyPdu: any) => {
|
||||
resolve(replyPdu);
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
serialize(): object {
|
||||
return {};
|
||||
}
|
||||
}
|
29
src/main.ts
29
src/main.ts
@@ -1,8 +1,8 @@
|
||||
import {Center} from "./Center/Center";
|
||||
import {Client} from "./Client/Client";
|
||||
import ClientSessionManager from "./Client/ClientSessionManager";
|
||||
import {Job} from "./Job/Job";
|
||||
import Logger from "./Logger";
|
||||
import {PduDebugProcessor} from "./PDUProcessor/PduDebugProcessor";
|
||||
|
||||
const smpp = require("smpp");
|
||||
const fs = require("fs");
|
||||
@@ -18,7 +18,6 @@ const {PDU} = require("smpp");
|
||||
const app = express();
|
||||
|
||||
const SERVER_PORT: number = Number(process.env.SERVER_PORT) || 8190;
|
||||
const MESSAGE_SEND_UPDATE_DELAY: number = Number(process.env.MESSAGE_SEND_UPDATE_DELAY) || 500;
|
||||
|
||||
// TODO: Add support for encodings
|
||||
// TODO: Implement some sort of metrics on frontend by counting the pdus
|
||||
@@ -52,18 +51,20 @@ async function main() {
|
||||
// });
|
||||
|
||||
let center: Center = new Center(0, 7000, "test", "test");
|
||||
setTimeout(() => {
|
||||
center.sendMultiple(new Job(new PDU("deliver_sm", {
|
||||
source_addr: "1234567890",
|
||||
destination_addr: "1234567890",
|
||||
short_message: "Hello World"
|
||||
}), 10, 100));
|
||||
// center.close();
|
||||
}, 5000);
|
||||
|
||||
client.connectAndBind().then(() => {
|
||||
console.log("POGGIES");
|
||||
});
|
||||
// setInterval(() => {
|
||||
// client.connectAndBind().then(() => {
|
||||
// console.log("POGGIES");
|
||||
// client.close();
|
||||
// });
|
||||
// }, 1000);
|
||||
// setTimeout(() => {
|
||||
// center.sendMultiple(new Job(new PDU("deliver_sm", {
|
||||
// source_addr: "1234567890",
|
||||
// destination_addr: "1234567890",
|
||||
// short_message: "Hello World"
|
||||
// }), 10, 100));
|
||||
// // center.close();
|
||||
// }, 5000);
|
||||
}
|
||||
|
||||
main();
|
||||
|
Reference in New Issue
Block a user