'Send a disconnect message to the other side and then disconnect.
@param reason: the reason for the disconnect.  Should be one of the
DISCONNECT_* values.
@type reason: L{int}
@param desc: a descrption of the reason for the disconnection.
@type desc: L{str}'

def sendDisconnect(self, reason, desc):

    self.sendPacket(MSG_DISCONNECT, ((struct.pack('>L', reason) + NS(desc)) + NS('')))
    log.msg(('Disconnecting    with    error,    code    %s\nreason:    %s' % (reason, desc)))
    self.transport.loseConnection()
