diff --git a/dcom/rpc/stub.js b/dcom/rpc/stub.js index 8a439334..29a064d4 100755 --- a/dcom/rpc/stub.js +++ b/dcom/rpc/stub.js @@ -87,7 +87,7 @@ class Stub extends Events.EventEmitter { transport = this.endpoint.transport; await transport.attach() .catch(function(reject) { - debug(reject); + throw new Error(reject) }); } diff --git a/dcom/transport/comtransport.js b/dcom/transport/comtransport.js index b4616f8c..471295ad 100755 --- a/dcom/transport/comtransport.js +++ b/dcom/transport/comtransport.js @@ -108,6 +108,7 @@ class ComTransport extends events.EventEmitter channel.on('error', function(data){ self.emit('disconnected'); + reject(data) }); channel.on('close', function(){ @@ -116,7 +117,10 @@ class ComTransport extends events.EventEmitter } }); + const connectFailedTimer = self.timeout && setTimeout(() => + channel.emit('error', 'Connection could not be established'), self.timeout) channel.connect(Number.parseInt(self.port), self.host, () => { + clearTimeout(connectFailedTimer) self.attached = true; channel.setKeepAlive(true); self.channelWrapper = channel;