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