Esempio n. 1
0
class MessageDispatcher:
    def __init__(self, peer):
        self.initialize(peer)

    def initialize(self, peer):
        self.__peer = peer
        self.__messageHandlers = {}
        self.__logger = MessageLogger()
        self.__logger.resgiterLoggingInfo(
            "Initialize MessageHamdles pid  %s of peer %s " % (self.__class__.__name__, self.__peer.getURN())
        )

    def getMessageHandlers(self):
        return self.__messageHandlers

    def registerMessageHandler(self, messageHandler):
        if self.__messageHandlers.has_key(messageHandler.getCanID()):
            raise StandardError()
        self.__messageHandlers[messageHandler.getCanID()] = messageHandler
        return self.__messageHandlers[messageHandler.getCanID()]

    def countMessageHandlers(self):
        return len(self.__messageHandlers)

    def hasTypeMessage(self, msgType):

        if self.__messageHandlers.has_key(msgType):
            return True
        else:
            return False

    def unregisterMessageHandler(self, messageName):
        if not self.__messageHandlers.has_key(messageName):
            raise StandardError()
        messageHandler = self.__messageHandlers[messageName]
        del self.__messageHandlers[messageName]
        return messageHandler

    def executeHandleMessage(self, messageName, peerConn, data):
        if not self.__messageHandlers.has_key(messageName):
            raise StandardError()
        handler = self.__messageHandlers[messageName]
        handler.executeHandler(peerConn, data)
        #
        return handler

    def handleMessage(self, messageName):
        if not self.__messageHandlers.has_key(messageName):
            raise StandardError()
        return self.__messageHandlers[messageName]
Esempio n. 2
0
 def initialize(self, peer):
     self.__peer = peer
     self.__messageHandlers = {}
     self.__logger = MessageLogger()
     self.__logger.resgiterLoggingInfo(
         "Initialize MessageHamdles pid  %s of peer %s " % (self.__class__.__name__, self.__peer.getURN())
     )