    
   ##-----------------------------------------
 
-  reconnect : () ->
+  _reconnect : () ->
     throw new Error "Reconnect called when @tcp_stream != null" if @tcp_stream
-    if @reconnect_delay?
+    if @reconnect_delay? and @_try_reconnect
       await setTimeout defer(), @reconnect_delay
       @_warn "reconnecting..."
       @connect()

      x.end()
 
  ##-----------------------------------------
  # To fulfill the packetizer contract, the following 1
  
  _raw_write : (msg, encoding) ->
    if @tcp_stream

  ##-----------------------------------------

  close : () ->
    @_try_reconnect = false
    if @tcp_stream
      @tcp_stream.end()
      @tcp_stream = null
