diff --git a/lib/rpc-client/mailboxes/tcp-mailbox.js b/lib/rpc-client/mailboxes/tcp-mailbox.js index 5a0886f..0c4d75a 100644 --- a/lib/rpc-client/mailboxes/tcp-mailbox.js +++ b/lib/rpc-client/mailboxes/tcp-mailbox.js @@ -153,11 +153,11 @@ var processMsgs = function(mailbox, pkgs) { }; var processMsg = function(mailbox, pkg) { - clearCbTimeout(mailbox, pkg.id); var cb = mailbox.requests[pkg.id]; if(!cb) { return; - } + } + clearCbTimeout(mailbox, pkg.id); delete mailbox.requests[pkg.id]; var tracer = new Tracer(mailbox.opts.rpcLogger, mailbox.opts.rpcDebugLog, mailbox.opts.clientId, pkg.source, pkg.resp, pkg.traceId, pkg.seqId); diff --git a/lib/rpc-server/acceptors/tcp-acceptor.js b/lib/rpc-server/acceptors/tcp-acceptor.js index d504ab8..33a70f5 100644 --- a/lib/rpc-server/acceptors/tcp-acceptor.js +++ b/lib/rpc-server/acceptors/tcp-acceptor.js @@ -16,6 +16,7 @@ var Acceptor = function(opts, cb){ this.sockets = {}; this.msgQueues = {}; this.cb = cb; + this.nextSocketId = 0; }; util.inherits(Acceptor, EventEmitter); @@ -39,6 +40,7 @@ pro.listen = function(port) { }); this.server.on('connection', function(socket) { + socket.id = self.nextSocketId++; self.sockets[socket.id] = socket; socket.composer = new Composer({maxLength: self.pkgSize});