'Lose the underlying connection and disconnect the parser with the given
L{Failure}.
Use this method instead of calling the transport\'s loseConnection
method directly otherwise random things will break.'

def _giveUp(self, reason):

    self.transport.loseConnection()
    self._disconnectParser(reason)
