diff --git a/lib/transport/transport.js b/lib/transport/transport.js index b996ab1..3620f42 100644 --- a/lib/transport/transport.js +++ b/lib/transport/transport.js @@ -77,24 +77,22 @@ BaseTransport.prototype.retrySend = function (data, retries, retry, next) { var transport = this; call_queue(this.beforerequest, function () { - transport.write(data, function () { - call_queue(transport.afterrequest, function () { - var k = data.__callback_key || "-"; - - if (retries > 0) { - transport.retryTimer[k] = setTimeout(function () { - transport.clearSend(); - transport.retrySend(data, retries - 1, retry, next); - }, retry); - } else { - transport.retryTimer[k] = setTimeout(function () { - delete transport.retryTimer[k]; + var k = data.__callback_key || "-"; - return next(pdu.Exception.error("GatewayTargetDeviceFailedToRespond")); - }, retry); - } - }); - }); + if (retries > 0) { + transport.retryTimer[k] = setTimeout(function () { + transport.clearSend(); + transport.retrySend(data, retries - 1, retry, next); + }, retry); + } else { + transport.retryTimer[k] = setTimeout(function () { + delete transport.retryTimer[k]; + + return next(pdu.Exception.error("GatewayTargetDeviceFailedToRespond")); + }, retry); + } + + transport.write(data, transport.afterrequest); }); };