Removed peer connection class (#641)

This commit is contained in:
Jonathan Zernik 2021-01-13 18:08:45 -08:00 committed by GitHub
parent 6bef275057
commit c73b681422
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 48 deletions

View file

@ -39,17 +39,11 @@ class NetworkSync(ABC):
# TODO: sleep for timeout and then call self._stop()
def _sync_peer(self, peer):
# with PeerConnection(peer) as peer_connection:
# self.sync_peer(peer_connection)
with PeerSyncTask(
self.squeak_controller,
peer,
self.stopped,
).open_peer_sync_task() as peer_sync_task:
# if peer.uploading:
# peer_sync_task.upload(min_block, max_block)
# if peer.downloading:
# peer_sync_task.download(min_block, max_block)
).open_connection() as peer_sync_task:
self.sync_peer(peer_sync_task)

View file

@ -1,28 +0,0 @@
import logging
import threading
from contextlib import contextmanager
from squeaknode.network.peer_client import PeerClient
logger = logging.getLogger(__name__)
class PeerConnection:
def __init__(self, peer):
self.peer = peer
self.peer_client = PeerClient(
self.peer.host,
self.peer.port,
)
self._stop_event = threading.Event()
@contextmanager
def open_connection(self):
with self.peer_client.open_stub():
yield self
def stop(self):
self._stop_event.set()
def stopped(self):
return self._stop_event.is_set()

View file

@ -1,7 +1,7 @@
import logging
from contextlib import contextmanager
from squeaknode.sync.peer_connection import PeerConnection
from squeaknode.network.peer_client import PeerClient
from squeaknode.sync.util import parse_buy_offer
logger = logging.getLogger(__name__)
@ -17,21 +17,30 @@ class PeerSyncTask:
):
self.squeak_controller = squeak_controller
self.peer = peer
self.peer_connection = None
# self.peer_connection = None
self.peer_client = PeerClient(
self.peer.host,
self.peer.port,
)
self.stopped = stopped
@contextmanager
def open_peer_sync_task(self):
with PeerConnection(self.peer).open_connection() as peer_connection:
self.peer_connection = peer_connection
yield self
self.peer_connection = None
# @contextmanager
# def open_peer_sync_task(self):
# with PeerConnection(self.peer).open_connection() as peer_connection:
# self.peer_connection = peer_connection
# yield self
# self.peer_connection = None
@property
def peer_client(self):
if self.peer_connection is None:
return None
return self.peer_connection.peer_client
@contextmanager
def open_connection(self):
with self.peer_client.open_stub():
yield self
# @property
# def peer_client(self):
# if self.peer_connection is None:
# return None
# return self.peer_connection.peer_client
def download(
self,