'Called when we receive a MSG_DISCONNECT message.  Payload::
long code
string description
This means that the other side has disconnected.  Pass the message up
and disconnect ourselves.
@type packet: L{bytes}
@param packet: The message data.'

def ssh_DISCONNECT(self, packet):

    reasonCode = struct.unpack('>L', packet[:4])[0]
    (description, foo) = getNS(packet[4:])
    self.receiveError(reasonCode, description)
    self.transport.loseConnection()
