Exemplo n.º 1
0
    def __message_received(self, connection: ConnectionIdentifier, ixpFile: IXPFile):
        for identifier in self.__asyncListeners:
            if connection != self.__asyncListenersConnections[identifier]:
                continue

            if self.__asyncListenersFunctions[identifier] != ixpFile.get_network_function():
                continue

            if self.__asyncListenersTypes[identifier] == self.__ASYNC_LISTENER_TYPE_IXP:
                self.__asyncListenersCallbacks[identifier](ixpFile)
            elif self.__asyncListenersTypes[identifier] == self.__ASYNC_LISTENER_TYPE_BOO:
                pass
            elif self.__asyncListenersTypes[identifier] == self.__ASYNC_LISTENER_TYPE_INT:
                pass
            elif self.__asyncListenersTypes[identifier] == self.__ASYNC_LISTENER_TYPE_STR:
                pass

            self.__asyncListeners.remove(identifier)
            del self.__asyncListenersCallbacks[identifier]
            del self.__asyncListenersConnections[identifier]
            del self.__asyncListenersFunctions[identifier]
            del self.__asyncListenersTypes[identifier]
            return

        for identifier in self.__listeners:
            if connection != self.__listenerConnections[identifier]:
                continue

            func = self.__listenerFunctions[identifier]

            if func == ixpFile.get_network_function():
                self.__listenerCallbacks[identifier](ixpFile)
Exemplo n.º 2
0
    def ixp_request_async(self, connection: ConnectionIdentifier, request: IXPFile, callback):
        """
            override of superclass method
        """

        identifier = AsyncListenerIdentifier()
        self.__asyncListeners.append(identifier)
        self.__asyncListenersCallbacks[identifier] = callback
        self.__asyncListenersConnections[identifier] = connection
        self.__asyncListenersFunctions[identifier] = request.get_network_function()
        self.__asyncListenersTypes[identifier] = self.__ASYNC_LISTENER_TYPE_IXP

        socket = self.__connections[connection]  # type: BufferedIXPSocket
        socket.send(request)