'Send a received message to the appropriate method.
@type messageNum: L{int}
@param messageNum: The message number.
@type payload: L{bytes}
@param payload: The message payload.'

def dispatchMessage(self, messageNum, payload):

    if ((messageNum < 50) and (messageNum in messages)):
        messageType = messages[messageNum][4:]
        f = getattr(self, ('ssh_%s' % (messageType,)), None)
        if (f is not None):
            f(payload)
        else:
            log.msg(("couldn't    handle    %s" % messageType))
            log.msg(repr(payload))
            self.sendUnimplemented()
    elif self.service:
        log.callWithLogger(self.service, self.service.packetReceived, messageNum, payload)
    else:
        log.msg(("couldn't    handle    %s" % messageNum))
        log.msg(repr(payload))
        self.sendUnimplemented()
