示例#1
0
    def __init__(self, server_pid, nodes, loop):
        self.router = MessageRouter(server_pid)

        self.server_pid = server_pid
        self.port = nodes[server_pid]["port"]
        self.cliport = nodes[server_pid]["cliport"]
        self.histfile = nodes[server_pid]["histfile"]
        self.nodes = nodes

        self.files = dict()  # name -> string

        self.zoo = Zookeeper.Zookeeper(self.router, self.histfile)

        # Async listeners
        self.server = loop.run_until_complete(
            asyncio.start_server(self.accept_peer_connection,
                                 "",
                                 self.port,
                                 loop=loop))
        self.cliserver = loop.run_until_complete(
            asyncio.start_server(self.accept_cli_connection,
                                 "",
                                 self.cliport,
                                 loop=loop))
        loop.run_until_complete(self.connect_to_peers())