Utilised peer_unavaliable
This commit is contained in:
parent
597de36476
commit
2c2633eebd
1 changed files with 9 additions and 3 deletions
|
@ -157,9 +157,13 @@ class ListPrograms(Pipe):
|
||||||
|
|
||||||
class Sensor(Pipe):
|
class Sensor(Pipe):
|
||||||
"""
|
"""
|
||||||
|
->
|
||||||
{"subscribe" : {"analog" : [1, 2, 3], "digital" : [1, 2, 3]}}
|
{"subscribe" : {"analog" : [1, 2, 3], "digital" : [1, 2, 3]}}
|
||||||
{"unsubscribe" : {"analog" : [1, 2, 3], "digital" : [1, 2, 3]}}
|
{"unsubscribe" : {"analog" : [1, 2, 3], "digital" : [1, 2, 3]}}
|
||||||
{"poll_rate" : 10}
|
{"poll_rate" : 10}
|
||||||
|
|
||||||
|
<-
|
||||||
|
{"analog" : {1 : 1240}, "digital" : {1 : 0, 2 : 0}}
|
||||||
"""
|
"""
|
||||||
def run(self, data, peer, handler):
|
def run(self, data, peer, handler):
|
||||||
if type(data) is dict:
|
if type(data) is dict:
|
||||||
|
@ -190,7 +194,6 @@ class Sensor(Pipe):
|
||||||
self.sensor_readout = SensorReadout(handler)
|
self.sensor_readout = SensorReadout(handler)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class WallabyControl(Route):
|
class WallabyControl(Route):
|
||||||
def __init__(self, output_unbuffer):
|
def __init__(self, output_unbuffer):
|
||||||
self.output_unbuffer = output_unbuffer
|
self.output_unbuffer = output_unbuffer
|
||||||
|
@ -267,9 +270,12 @@ class Processes(Pipe):
|
||||||
|
|
||||||
class Handler(Client):
|
class Handler(Client):
|
||||||
def setup(self, routes, debug=False):
|
def setup(self, routes, debug=False):
|
||||||
super().setup(routes, piping=True, debug=debug)
|
super().setup(routes, debug=debug)
|
||||||
|
|
||||||
|
|
||||||
|
def peer_unavaliable(self, peer):
|
||||||
|
if self.debug:
|
||||||
|
Logging.info("Unsubscribing '%s' from all sensor updates." % peer)
|
||||||
|
self.routes["sensor"].sensor_readout.unsubscribe_all(peer)
|
||||||
|
|
||||||
|
|
||||||
CONFIG_PATH = "wallaby.cfg"
|
CONFIG_PATH = "wallaby.cfg"
|
||||||
|
|
Reference in a new issue