Пример #1
0
class Replier:
    def __init__(self):
        self.reactor = ReactorInterface(self)
        self.log = get_logger("Replier")
        self.reactor.add_router(url=URL, callback='handle_request')
        self.reactor.notify_ready()

    def handle_request(self, req, id):
        self.log.critical("Got request: {} with sender id: {}".format(req, id))
        self.reactor.reply(url=URL, id=id, data=b'heres your reply my guy')
Пример #2
0
class Node:
    def __init__(self, log_color=None):
        if log_color:
            self.log = get_logger("Node", bg_color=log_color)
        else:
            self.log = get_logger("Node")

        self.log.info("A Node has appeared")
        self.reactor = ReactorInterface(router=self)
        self.reactor.notify_ready()

    def handle_msg(self, data):
        self.log.info("Handling Msg: {}".format(data))
Пример #3
0
class PubSubNode:
    def __init__(self):
        self.log = get_logger("PubSubNode")
        self.log.info("-- PubSubNode Init-ing --")

        self.reactor = ReactorInterface(self)
        self.reactor.execute(Command.ADD_SUB, url=URL, callback='do_something')
        self.reactor.execute(Command.ADD_PUB, url=URL)

        self.reactor.notify_ready()

    def do_something(self, data):
        self.log.debug("Doing something with data: {}".format(data))
Пример #4
0
class Requester:
    _ID = 'ASS'

    def __init__(self):
        self.reactor = ReactorInterface(self)
        self.log = get_logger("Requester")
        self.reactor.add_dealer(url=URL, callback='handle_reply', id=self._ID)
        self.reactor.notify_ready()

    def handle_reply(self, rep):
        self.log.critical("Got reply: {}".format(rep))

    def send_req(self, req_str):
        self.reactor.request(url=URL, data=req_str.encode())
Пример #5
0
class SlowInitNode:
    def __init__(self):
        self.log = get_logger("SlowInitNode")
        self.log.info("-- Test Node Init-ing --")
        self.reactor = ReactorInterface(self)

        self.reactor.execute(Command.ADD_SUB, url=URL, callback='do_something_else')

        self.log.critical("Starting very slow init")
        time.sleep(6)
        self.log.critical("Done with very flow init")
        self.reactor.notify_ready()

    def do_something_slow(self, data):
        self.log.critical("Starting something slow with data: {}".format(data))
        time.sleep(2)
        self.log.critical("Done with something slow for data: {}".format(data))

    def do_something_else(self, data):
        self.log.info("do_something_ELSE with data: {}".format(data))