self.client.on('close', (has_error) => {
      if (self.state >= states.DISCONNECTING) return
      self.remote.closed = true
      self.loginfo('client dropped connection', log_data)
      self.fail()