From 48dfd9a77ad3b5534c9d4a4beed0dd1fd36300c8 Mon Sep 17 00:00:00 2001 From: Alex Haynes Date: Sat, 20 Oct 2018 13:42:16 -0400 Subject: [PATCH] started on stream --- network/stream.py | 17 +++++++++++++++-- requirements.txt | 1 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/network/stream.py b/network/stream.py index 42fc1f39..97658910 100644 --- a/network/stream.py +++ b/network/stream.py @@ -1,4 +1,5 @@ from .stream_interface import IStream +import asyncio class Stream(IStream): @@ -6,18 +7,30 @@ class Stream(IStream): self.context = context self.peer_id = peer_id + peer_store = context.peer_store + peer_addr = peer_store.get(peer_id) + + # look up peer_id -> multiaddr in peer store + # parse multiaddr and set_protocol based on it + # open connection to multiaddr + # save connection to stream's state + self.open_connection(ip, port) + + async def open_connection(self, ip, port): + self.reader, self.writer = await asyncio.open_connection(ip, port) + def protocol(self): """ :return: protocol id that stream runs on """ - pass + return self.protocol_id def set_protocol(self, protocol_id): """ :param protocol_id: protocol id that stream runs on :return: true if successful """ - pass + self.protocol_id = protocol_id def read(self): """ diff --git a/requirements.txt b/requirements.txt index e69de29b..404572b1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -0,0 +1 @@ +asyncio \ No newline at end of file