Some restructuring etc
This commit is contained in:
+34
-18
@@ -135,9 +135,6 @@ function session(sock) {
|
||||
|
||||
log.debug('larvitsmpp: lib/session.js: session() - returnObj.send() - returnObj.on(incomingPduObj) - cmdName: ' + incPduObj.cmdName + ' seqNr: ' + incPduObj.seqNr + ' cmdStatus: ' + incPduObj.cmdStatus);
|
||||
|
||||
// Clean up by removing this listener or else it will lurk along forever
|
||||
returnObj.removeAllListeners('incomingPdu' + pduObj.seqNr);
|
||||
|
||||
// Make sure this is the actual response to the sent PDU
|
||||
if (incPduObj.isResponse() && incPduObj.seqNr === pduObj.seqNr) {
|
||||
callback(null, incPduObj);
|
||||
@@ -377,8 +374,12 @@ function session(sock) {
|
||||
});
|
||||
};
|
||||
|
||||
// Handle incomming commands.
|
||||
// This is intended to be extended
|
||||
returnObj.handleCmd = {};
|
||||
|
||||
// Handle incoming deliver_sm
|
||||
returnObj.deliverSm = function(pduObj) {
|
||||
returnObj.handleCmd.deliver_sm = function(pduObj) {
|
||||
var dlrObj;
|
||||
|
||||
// TLV message_state must exists
|
||||
@@ -415,16 +416,23 @@ function session(sock) {
|
||||
returnObj.sendReturn(pduObj);
|
||||
};
|
||||
|
||||
// Enquire link
|
||||
returnObj.handleCmd.enquire_link = function(pduObj) {
|
||||
log.silly('larvitsmpp: lib/session.js: session() - enquireLink() - Enquiring link');
|
||||
returnObj.resetEnqLinkTimer();
|
||||
returnObj.sendReturn(pduObj);
|
||||
};
|
||||
|
||||
// Handle incoming submit_sm
|
||||
returnObj.submitSm = function(pduObj) {
|
||||
returnObj.handleCmd.submit_sm = function(pduObj) {
|
||||
var smsObj = {};
|
||||
|
||||
smsObj = {
|
||||
'from': pduObj.params.source_addr,
|
||||
'to': pduObj.params.destination_addr,
|
||||
'submitTime': new Date(),
|
||||
'message': pduObj.params.short_message,
|
||||
'dlr': Boolean(pduObj.params.registered_delivery)
|
||||
'from': pduObj.params.source_addr,
|
||||
'to': pduObj.params.destination_addr,
|
||||
'submitTime': new Date(),
|
||||
'message': pduObj.params.short_message,
|
||||
'dlr': Boolean(pduObj.params.registered_delivery)
|
||||
};
|
||||
|
||||
function smsReceived(smsData) {
|
||||
@@ -440,6 +448,11 @@ function session(sock) {
|
||||
returnObj.emit('sms', smsObj, smsReceived);
|
||||
};
|
||||
|
||||
// Handle incoming unbind
|
||||
returnObj.handleCmd.unbind = function(pduObj) {
|
||||
returnObj.sendReturn(pduObj, 'ESME_ROK', undefined, true);
|
||||
};
|
||||
|
||||
// Dummy, should be extended by serverSession or clientSession
|
||||
returnObj.login = function() {
|
||||
log.info('larvitsmpp: lib/session.js: session() - login() - Dummy login function ran, this might be a mistake');
|
||||
@@ -451,12 +464,7 @@ function session(sock) {
|
||||
log.silly('larvitsmpp: lib/session.js: session() - resetEnqLinkTimer() - Resetting the kill timer');
|
||||
};
|
||||
|
||||
returnObj.enquireLink = function(pduObj) {
|
||||
log.silly('larvitsmpp: lib/session.js: session() - enquireLink() - Enquiring link');
|
||||
returnObj.resetEnqLinkTimer();
|
||||
returnObj.sendReturn(pduObj);
|
||||
};
|
||||
|
||||
// Unbind this session
|
||||
returnObj.unbind = function() {
|
||||
returnObj.send({
|
||||
'cmdName': 'unbind'
|
||||
@@ -502,15 +510,21 @@ function session(sock) {
|
||||
returnObj.emit('incomingPdu', pdu);
|
||||
}
|
||||
|
||||
if (returnObj.dataQueue.length === 0) {
|
||||
log.silly('larvitsmpp: lib/session.js: session() - sock.on(data) - All queue hanlded, breaking while loop.');
|
||||
break;
|
||||
}
|
||||
|
||||
// If the command length is larger than the queue, we need to wait for more data. Stop processing!
|
||||
if (cmdLength > returnObj.dataQueue) {
|
||||
log.debug('larvitsmpp: lib/session.js: session() - sock.on(data) - Incomplete PDU found in dataQueue, waiting for more data to continue.');
|
||||
log.debug('larvitsmpp: lib/session.js: session() - sock.on(data) - Incomplete PDU found in dataQueue, waiting for more data to continue. Current cmdLength: ' + cmdLength + ' current queue: ' + returnObj.dataQueue.toString('hex'));
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Handle incoming Pdu Buffers
|
||||
returnObj.on('incomingPdu', function(pdu) {
|
||||
utils.pduToObj(pdu, function(err, pduObj) {
|
||||
if (err) {
|
||||
@@ -523,6 +537,9 @@ function session(sock) {
|
||||
if (pduObj.isResponse()) {
|
||||
// We do this so we can remove the dynamic event listeners to not have a memory leak
|
||||
returnObj.emit('incomingPduObj' + pduObj.seqNr, pduObj);
|
||||
|
||||
// Clean up by removing this listener or else it will lurk along forever
|
||||
returnObj.removeAllListeners('incomingPduObj' + pduObj.seqNr);
|
||||
} else {
|
||||
returnObj.emit('incomingPduObj', pduObj);
|
||||
}
|
||||
@@ -530,7 +547,6 @@ function session(sock) {
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// Add a 'close' event handler to this instance of socket
|
||||
sock.on('close', function() {
|
||||
returnObj.emit('close');
|
||||
|
||||
Reference in New Issue
Block a user