Some minor refactoring

This commit is contained in:
2015-05-01 13:44:58 +02:00
parent 9b2e38d7c3
commit 04972855ed
+31 -31
View File
@@ -14,18 +14,18 @@ var log = require('winston'),
* @return obj (returnObj) * @return obj (returnObj)
*/ */
function serverSession(sock, options) { function serverSession(sock, options) {
var parent = session(sock); var returnObj = session(sock);
/** /**
* Try to log a connecting peer in * Try to log a connecting peer in
* *
* @param obj pduObj * @param obj pduObj
*/ */
parent.login = function(pduObj) { returnObj.login = function(pduObj) {
log.debug('larvitsmpp: lib/server.js: serverSession() - login() - Data received and session is not loggedIn'); log.debug('larvitsmpp: lib/server.js: serverSession() - login() - Data received and session is not loggedIn');
// Pause socket so we do not receive any other commands until we have processed the login // Pause socket so we do not receive any other commands until we have processed the login
parent.sock.pause(); returnObj.sock.pause();
// Only bind_* is accepted when the client is not logged in // Only bind_* is accepted when the client is not logged in
if (pduObj.cmdName !== 'bind_transceiver' && pduObj.cmdName !== 'bind_receiver' && pduObj.cmdName !== 'bind_transmitter') { if (pduObj.cmdName !== 'bind_transceiver' && pduObj.cmdName !== 'bind_receiver' && pduObj.cmdName !== 'bind_transmitter') {
@@ -33,12 +33,12 @@ function serverSession(sock, options) {
smppUtils.pduReturn(pduObj, 'ESME_RINVBNDSTS', function(err, retPdu) { smppUtils.pduReturn(pduObj, 'ESME_RINVBNDSTS', function(err, retPdu) {
if (err) { if (err) {
parent.closeSocket(); returnObj.closeSocket();
return; return;
} }
parent.sock.resume(); returnObj.sock.resume();
parent.sockWrite(retPdu); returnObj.sockWrite(retPdu);
}); });
return; return;
@@ -48,70 +48,70 @@ function serverSession(sock, options) {
if (typeof options.checkuserpass === 'function') { if (typeof options.checkuserpass === 'function') {
options.checkuserpass(pduObj.params.system_id, pduObj.params.password, function(err, res) { options.checkuserpass(pduObj.params.system_id, pduObj.params.password, function(err, res) {
if (err) { if (err) {
parent.closeSocket(); returnObj.closeSocket();
return; return;
} }
if ( ! res) { if ( ! res) {
log.info('larvitsmpp: lib/server.js: serverSession() - login() - Login failed! Connected host: ' + sock.remoteAddress + ':' + sock.remotePort + ' system_id: "' + pduObj.params.system_id + '"'); log.info('larvitsmpp: lib/server.js: serverSession() - login() - Login failed! Connected host: ' + sock.remoteAddress + ':' + sock.remotePort + ' system_id: "' + pduObj.params.system_id + '"');
parent.sock.resume(); returnObj.sock.resume();
parent.sendReturn(pduObj, 'ESME_RBINDFAIL'); returnObj.sendReturn(pduObj, 'ESME_RBINDFAIL');
return; return;
} }
log.verbose('larvitsmpp: lib/server.js: serverSession() - login() - Login successful! Connected host: ' + sock.remoteAddress + ':' + sock.remotePort + ' system_id: "' + pduObj.params.system_id + '"'); log.verbose('larvitsmpp: lib/server.js: serverSession() - login() - Login successful! Connected host: ' + sock.remoteAddress + ':' + sock.remotePort + ' system_id: "' + pduObj.params.system_id + '"');
parent.loggedIn = true; returnObj.loggedIn = true;
parent.sock.resume(); returnObj.sock.resume();
parent.sendReturn(pduObj); returnObj.sendReturn(pduObj);
}); });
return; return;
} }
// If we arrived here it means we are not logged in and that a bind_* event happened and no checkuserpass() method exists. Lets login! // If we arrived here it means we are not logged in and that a bind_* event happened and no checkuserpass() method exists. Lets login!
parent.loggedIn = true; returnObj.loggedIn = true;
parent.sock.resume(); returnObj.sock.resume();
parent.sendReturn(pduObj); returnObj.sendReturn(pduObj);
}; };
/** /**
* Reset the enquire link timer * Reset the enquire link timer
* If this is not ran within options.timeout milliseconds, this session will self terminate * If this is not ran within options.timeout milliseconds, this session will self terminate
*/ */
parent.resetEnqLinkTimer = function() { returnObj.resetEnqLinkTimer = function() {
log.silly('larvitsmpp: lib/server.js: serverSession() - resetEnqLinkTimer() - Resetting the kill timer'); log.silly('larvitsmpp: lib/server.js: serverSession() - resetEnqLinkTimer() - Resetting the kill timer');
if (parent.enqLinkTimer) { if (returnObj.enqLinkTimer) {
clearTimeout(parent.enqLinkTimer); clearTimeout(returnObj.enqLinkTimer);
} }
parent.enqLinkTimer = setTimeout(function() { returnObj.enqLinkTimer = setTimeout(function() {
log.info('larvitsmpp: lib/server.js: serverSession() - resetEnqLinkTimer() - Closing session due to timeout'); log.info('larvitsmpp: lib/server.js: serverSession() - resetEnqLinkTimer() - Closing session due to timeout');
parent.closeSocket(); returnObj.closeSocket();
}, options.timeout); }, options.timeout);
}; };
parent.resetEnqLinkTimer(); returnObj.resetEnqLinkTimer();
parent.on('incomingPdu', function(pduObj) { returnObj.on('incomingPdu', function(pduObj) {
if (pduObj.cmdName === 'unbind') { if (pduObj.cmdName === 'unbind') {
parent.sendReturn(pduObj, 'ESME_ROK', true); returnObj.sendReturn(pduObj, 'ESME_ROK', true);
} else if (parent.loggedIn === false) { } else if (returnObj.loggedIn === false) {
log.debug('larvitsmpp: lib/server.js: serverSession() - parent.handleIncomingPdu() - Not logged in, running login function'); log.debug('larvitsmpp: lib/server.js: serverSession() - returnObj.handleIncomingPdu() - Not logged in, running login function');
parent.login(pduObj); returnObj.login(pduObj);
} else if (pduObj.cmdName === 'deliver_sm') { } else if (pduObj.cmdName === 'deliver_sm') {
parent.deliverSm(pduObj); returnObj.deliverSm(pduObj);
} else if (pduObj.cmdName === 'enquire_link') { } else if (pduObj.cmdName === 'enquire_link') {
parent.enquireLink(pduObj); returnObj.enquireLink(pduObj);
} else if (pduObj.cmdName === 'submit_sm') { } else if (pduObj.cmdName === 'submit_sm') {
parent.submitSm(pduObj); returnObj.submitSm(pduObj);
} else { } else {
// All other commands we do not support // All other commands we do not support
parent.sendReturn(pduObj, 'ESME_RINVCMDID'); returnObj.sendReturn(pduObj, 'ESME_RINVCMDID');
} }
}); });
return parent; return returnObj;
} }
/** /**