예제 #1
0
    def get_broker_registry(self):
        msg = BrokerMessage(self.current_addr, events.GET_REGISTRY, self.name,
                            'x')
        msg = self.marshaller.marshal(msg)

        addr_response = request(BROKER_ADDRESS, msg)
        return addr_response
예제 #2
0
    def persist_address(self):
        msg = BrokerMessage(self.current_addr, events.PERSIST_ADDRESS,
                            self.name, 'x')
        msg = self.marshaller.marshal(msg)

        addr_response = request(BROKER_ADDRESS, msg)
        print(Fore.RED + f'persist_address: {addr_response}')
    def inform(self, event: Event, message):
        address = self._web_handler.get_address(self._address_key)

        message.pubsub = choices.INFORM
        bytes_message = self.marshaller.marshal(message)

        response = request(address, bytes_message)

        return response
예제 #4
0
    def get_address(self, requested_address_key):
        msg = BrokerMessage(self.current_addr, events.REQUEST_ADDRESS,
                            self.name, requested_address_key)
        msg = self.marshaller.marshal(msg)

        addr_response = request(BROKER_ADDRESS, msg)

        addr = self.marshaller.unmarshal(addr_response, self.event_mapper)
        addr = addr.addr

        return addr
예제 #5
0
    def request(self, address_key, message: BaseMessage):
        addr = self.get_address(address_key)
        byte_message = BaseWebHandler.marshaller.marshal(message)

        return request(addr, byte_message)