Skip to content

Commit edbe278

Browse files
committed
add pause feature
1 parent e6bfd01 commit edbe278

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

conn_mgr.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,14 @@ def stop(self):
9696

9797
def isAlive(self):
9898
return self.peerServer.isAlive() or self.dataServer.isAlive()
99+
100+
@property
101+
def paused(self):
102+
return self.peerServer.paused
103+
104+
@paused.setter
105+
def paused(self, val):
106+
self.peerServer.paused = val
99107

100108
def _broadcast(self, message=None, port=None, loop=False):
101109
'''

peer_server.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class PeerServer(SocketServer.ThreadingMixIn, SocketServer.UDPServer):
2525
thread = None
2626
_heartbeat_loop = False
2727
_cast_loop = False
28+
_paused = False
2829

2930
assert(HEARTBEAT_LOOP >= BROADCAST_LOOP * 3)
3031

@@ -87,6 +88,17 @@ def stop(self):
8788
else:
8889
self.log.info(':: PeerServer was shutdown.')
8990

91+
@property
92+
def paused(self):
93+
return self._paused
94+
95+
@paused.setter
96+
def paused(self, val):
97+
# TODO: expires caches if required
98+
self._cast_loop = not val
99+
self._heartbeat_loop = not val
100+
self._paused = val
101+
90102
def isAlive(self):
91103
return self.thread and self.thread.isAlive()
92104

0 commit comments

Comments
 (0)