diff --git a/lib/client.js b/lib/client.js index 0147e45..68917fb 100644 --- a/lib/client.js +++ b/lib/client.js @@ -5,6 +5,52 @@ var log = require('winston'), net = require('net'), session = require('./session'); +function login() { + var that = this, + loginPdu; + + loginPdu = { + 'cmdName': 'bind_transceiver', + 'seqNr': this.ourSeqNr, + 'params': { + 'system_id': this.options.username, + 'password': this.options.password + } + }; + + this.send(loginPdu, function(err, retPduObj) { + if (err) { + that.emit('loginFailed'); + return; + } + + if (retPduObj.cmdStatus === 'ESME_ROK') { + log.info('larvitsmpp: lib/client.js: login() - Successful login!'); + that.loggedIn = true; + that.emit('loggedIn'); + } else { + log.info('larvitsmpp: lib/client.js: login() - Login failed. Status msg: ' + retPduObj.cmdStatus); + that.emit('loginFailed'); + } + }); +} + +function resetEnqLinkTimer() { + var that = this; + + log.silly('larvitsmpp: lib/client.js: resetEnqLinkTimer() - Resetting the kill timer'); + if (this.enqLinkTimer) { + clearTimeout(this.enqLinkTimer); + } + + this.enqLinkTimer = setTimeout(function() { + that.send({ + cmdName: 'enquire_link', + seqNr: that.ourSeqNr + }); + }, this.options.enqLinkTiming); +} + /** * Client session function - inherits from session() * @@ -15,46 +61,9 @@ var log = require('winston'), function clientSession(sock, options) { var returnObj = session(sock); - returnObj.login = function() { - var loginPdu = { - 'cmdName': 'bind_transceiver', - 'seqNr': returnObj.ourSeqNr, - 'params': { - 'system_id': options.username, - 'password': options.password - } - }; - - returnObj.send(loginPdu, function(err, retPduObj) { - if (err) { - returnObj.emit('loginFailed'); - return; - } - - if (retPduObj.cmdStatus === 'ESME_ROK') { - log.info('larvitsmpp: lib/client.js: clientSession() - returnObj.login() - Successful login!'); - returnObj.loggedIn = true; - returnObj.emit('loggedIn'); - } else { - log.info('larvitsmpp: lib/client.js: clientSession() - returnObj.login() - Login failed. Status msg: ' + retPduObj.cmdStatus); - returnObj.emit('loginFailed'); - } - }); - }; - - returnObj.resetEnqLinkTimer = function() { - log.silly('larvitsmpp: lib/client.js: clientSession() - resetEnqLinkTimer() - Resetting the kill timer'); - if (returnObj.enqLinkTimer) { - clearTimeout(returnObj.enqLinkTimer); - } - - returnObj.enqLinkTimer = setTimeout(function() { - returnObj.send({ - cmdName: 'enquire_link', - seqNr: returnObj.ourSeqNr - }); - }, options.enqLinkTiming); - }; + returnObj.options = options; + returnObj.login = login; + returnObj.resetEnqLinkTimer = resetEnqLinkTimer; returnObj.login(); returnObj.resetEnqLinkTimer();