refactored routedhost into router passed to swarm

This commit is contained in:
Alex Haynes
2019-04-24 22:11:54 -04:00
parent fc4fc74b87
commit 6c5bac53d7
13 changed files with 48 additions and 50 deletions

View File

@ -20,6 +20,7 @@ class Swarm(INetwork):
self.listeners = dict()
self.stream_handlers = dict()
self.transport = None
self.router = None
# Protocol muxing
self.multiselect = Multiselect()
@ -57,8 +58,10 @@ class Swarm(INetwork):
if not addrs:
raise SwarmException("No known addresses to peer")
# TODO: define logic to choose which address to use, or try them all ?
multiaddr = addrs[0]
if not self.router:
multiaddr = addrs[0]
else:
multiaddr = self.router.find_peer(peer_id)
if peer_id in self.connections:
# If muxed connection already exists for peer_id,
@ -187,6 +190,9 @@ class Swarm(INetwork):
# TODO: Support more than one transport
self.transport = transport
def add_router(self, router):
self.router = router
def create_generic_protocol_handler(swarm):
"""
Create a generic protocol handler from the given swarm. We use swarm