Utilised peer_unavaliable

This commit is contained in:
Philip Trauner 2016-12-18 23:25:53 +01:00
parent 597de36476
commit 2c2633eebd

View file

@ -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"