Minor refactor

This commit is contained in:
2023-12-04 08:51:46 +01:00
parent 0799dc6a4d
commit f7976d3738
3 changed files with 48 additions and 39 deletions

View File

@@ -3,7 +3,7 @@ const commandLineArgs = require("command-line-args");
const commandLineUsage = require("command-line-usage"); const commandLineUsage = require("command-line-usage");
const NanoTimer = require("nanotimer"); const NanoTimer = require("nanotimer");
const { createBaseLogger, createSessionLogger } = require("./logger"); const { createBaseLogger, createSessionLogger } = require("./logger");
const { verifyDefaults, verifyExists } = require("./utils"); const { verifyDefaults, verifyExists, sendPdu } = require("./utils");
const { centerOptions } = require("./cliOptions"); const { centerOptions } = require("./cliOptions");
const crypto = require("crypto"); const crypto = require("crypto");
const { MetricManager } = require("./metrics/metricManager"); const { MetricManager } = require("./metrics/metricManager");
@@ -57,23 +57,22 @@ function startInterval(session, sessionLogger, rxMetrics) {
sendTimer.clearInterval(); sendTimer.clearInterval();
} else if (inFlight < options.window) { } else if (inFlight < options.window) {
sessionLogger.info(`Sending message ${sent + 1}/${options.messagecount}`); sessionLogger.info(`Sending message ${sent + 1}/${options.messagecount}`);
session.deliver_sm( const pdu = new smpp.PDU("deliver_sm", {
{ source_addr: options.source,
source_addr: options.source, destination_addr: options.destination,
destination_addr: options.destination, short_message: options.message,
short_message: options.message, });
},
function (pdu) { sendPdu(session, pdu).then(resp => {
inFlight--; inFlight--;
if (pdu.command_status === 0) { sessionLogger.info(`Received response with id ${resp.message_id}`);
sessionLogger.info(`Received response with id ${pdu.message_id}`); success++;
success++; }).catch(resp => {
} else { inFlight--;
sessionLogger.warn(`Message failed with id ${pdu.message_id}`); sessionLogger.warn(`Message failed with id ${resp.message_id}`);
failed++; failed++;
} });
}
);
rxMetrics.AddEvent(); rxMetrics.AddEvent();
sent++; sent++;
inFlight++; inFlight++;

View File

@@ -3,7 +3,7 @@ const commandLineArgs = require("command-line-args");
const commandLineUsage = require("command-line-usage"); const commandLineUsage = require("command-line-usage");
const NanoTimer = require("nanotimer"); const NanoTimer = require("nanotimer");
const { createBaseLogger, createSessionLogger } = require("./logger"); const { createBaseLogger, createSessionLogger } = require("./logger");
const { verifyDefaults, verifyExists } = require("./utils"); const { verifyDefaults, verifyExists, sendPdu } = require("./utils");
const { clientOptions } = require("./cliOptions"); const { clientOptions } = require("./cliOptions");
const { MetricManager } = require("./metrics/metricManager"); const { MetricManager } = require("./metrics/metricManager");
@@ -58,26 +58,24 @@ function startInterval(session, sessionLogger, metrics) {
metrics.progress.bar.increment(); metrics.progress.bar.increment();
metrics.window.bar.increment(); metrics.window.bar.increment();
} }
session.submit_sm( const pdu = new smpp.PDU("submit_sm", {
{ source_addr: options.source,
source_addr: options.source, destination_addr: options.destination,
destination_addr: options.destination, short_message: options.message,
short_message: options.message, });
},
function (pdu) { sendPdu(session, pdu)
if (metrics.window?.bar) { .then((resp) => {
metrics.window.bar.update(metrics.window.bar.value - 1);
}
inFlight--; inFlight--;
if (pdu.command_status === 0) { sessionLogger.info(`Received response with id ${resp.message_id}`);
sessionLogger.info(`Received response with id ${pdu.message_id}`); success++;
success++; })
} else { .catch((resp) => {
sessionLogger.warn(`Message failed with id ${pdu.message_id}`); inFlight--;
failed++; sessionLogger.warn(`Message failed with id ${resp.message_id}`);
} failed++;
} });
);
if (metrics.txMetrics) { if (metrics.txMetrics) {
metrics.txMetrics.AddEvent(); metrics.txMetrics.AddEvent();
} }

View File

@@ -14,4 +14,16 @@ function verifyDefaults(options, definitions) {
} }
} }
module.exports = { verifyDefaults, verifyExists }; async function sendPdu(session, pdu) {
return new Promise((resolve, reject) => {
session.send(pdu, (respPdu) => {
if (respPdu.command_status === 0) {
resolve(respPdu);
} else {
reject(respPdu);
}
});
});
}
module.exports = { verifyDefaults, verifyExists, sendPdu };