'disconnect this Connection (usually not invoked manually).'

def disconnect(self, msg='disconnected', defer_event=False):

    if self.disconnected:
        self.msg('already    disconnected')
    self.info(msg)
    self.disconnected = True
    try:
        self.ofnexus._disconnect(self.dpid)
    except:
        pass
    if (self.dpid is not None):
        if ((not self.disconnection_raised) and (not defer_event)):
            self.disconnection_raised = True
            self.ofnexus.raiseEventNoErrors(ConnectionDown, self)
            self.raiseEventNoErrors(ConnectionDown, self)
    try:
        pass
    except:
        pass
    try:
        self.sock.shutdown(socket.SHUT_RDWR)
    except:
        pass
    try:
        pass
    except:
        pass
