mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-15 12:50:47 +02:00
Combine two context managers for peer connection (#914)
* Combine two context managers for peer connection * Remove old comments
This commit is contained in:
parent
cf0e046f27
commit
92725762f6
2 changed files with 6 additions and 37 deletions
|
|
@ -160,10 +160,6 @@ class Peer(object):
|
|||
logger.info('Received msg {} from {}'.format(msg, self))
|
||||
return msg
|
||||
|
||||
# def stop(self):
|
||||
# logger.info("Stopping peer: {}".format(self))
|
||||
# self.stopped.set()
|
||||
|
||||
def close(self):
|
||||
logger.info("closing peer socket: {}".format(self._peer_socket))
|
||||
try:
|
||||
|
|
@ -183,20 +179,6 @@ class Peer(object):
|
|||
logger.info('Failed to send msg to {}'.format(self))
|
||||
self.close()
|
||||
|
||||
# def __enter__(self):
|
||||
# logger.debug('Setting up peer {} ...'.format(self))
|
||||
# msg_receiver = MessageReceiver(
|
||||
# self._peer_socket, self._recv_msg_queue, self.stopped)
|
||||
# threading.Thread(
|
||||
# target=msg_receiver.recv_msgs,
|
||||
# args=(),
|
||||
# ).start()
|
||||
# return self
|
||||
|
||||
# def __exit__(self, *exc):
|
||||
# self.close()
|
||||
# logger.debug('Closed connection to peer {} ...'.format(self))
|
||||
|
||||
def handshake(self, squeak_controller):
|
||||
if self.outgoing:
|
||||
local_version = self.version_pkt(squeak_controller)
|
||||
|
|
@ -244,7 +226,7 @@ class Peer(object):
|
|||
logger.info('Finished handling messages...')
|
||||
|
||||
@contextmanager
|
||||
def start_peer(self):
|
||||
def open_connection(self, squeak_controller):
|
||||
logger.debug('Setting up peer {} ...'.format(self))
|
||||
try:
|
||||
msg_receiver = MessageReceiver(
|
||||
|
|
@ -253,20 +235,12 @@ class Peer(object):
|
|||
target=msg_receiver.recv_msgs,
|
||||
args=(),
|
||||
).start()
|
||||
self.handshake(squeak_controller)
|
||||
yield self
|
||||
finally:
|
||||
self.close()
|
||||
logger.debug('Closed connection to peer {} ...'.format(self))
|
||||
|
||||
@contextmanager
|
||||
def open_connection(self, squeak_controller):
|
||||
logger.info(
|
||||
'Starting handshake connection with peer ... {}'.format(self))
|
||||
self.handshake(squeak_controller)
|
||||
yield self
|
||||
logger.info(
|
||||
'Finished handshake connection with peer ... {}'.format(self))
|
||||
|
||||
def __repr__(self):
|
||||
return "Peer(%s)" % (self.address_string)
|
||||
|
||||
|
|
|
|||
|
|
@ -32,16 +32,11 @@ class PeerHandler():
|
|||
|
||||
logger.debug(
|
||||
'Setting up controller for peer address {} ...'.format(address))
|
||||
logger.info(
|
||||
'Setting up controller for peer address {} ...'.format(address))
|
||||
with Peer(peer_socket, address, outgoing).start_peer() as p:
|
||||
with p.open_connection(self.squeak_controller) as p2:
|
||||
# p.stopped.wait()
|
||||
self.connection_manager.add_peer(p2)
|
||||
p2.handle_messages(self.squeak_controller)
|
||||
self.connection_manager.remove_peer(p2)
|
||||
with Peer(peer_socket, address, outgoing).open_connection(self.squeak_controller) as peer:
|
||||
self.connection_manager.add_peer(peer)
|
||||
peer.handle_messages(self.squeak_controller)
|
||||
self.connection_manager.remove_peer(peer)
|
||||
logger.debug('Stopped controller for peer address {}.'.format(address))
|
||||
logger.info('Stopped controller for peer address {}.'.format(address))
|
||||
|
||||
def handle_connection(self, peer_socket, address, outgoing):
|
||||
threading.Thread(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue