From be1f523519727119f9cc9b78781a7db248939e86 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com> Date: Thu, 29 Sep 2016 06:25:45 -0400 Subject: [PATCH] Added option for turning off echoing in the NonrepeatingBuffer class. --- src/apex/nonrepeating_buffer.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/apex/nonrepeating_buffer.py b/src/apex/nonrepeating_buffer.py index 5bc7683..ba71854 100644 --- a/src/apex/nonrepeating_buffer.py +++ b/src/apex/nonrepeating_buffer.py @@ -10,12 +10,13 @@ import apex.aprs.util class NonrepeatingBuffer(object): - def __init__(self, base_tnc, base_name, base_port=None, buffer_size=10000, buffer_time=30): + def __init__(self, base_tnc, base_name, base_port=None, echo_packets=True, buffer_size=10000, buffer_time=30): self.packet_cache = cachetools.TTLCache(buffer_size, buffer_time) self.lock = threading.Lock() self.base_tnc = base_tnc self.base_port = base_port self.base_name = base_name + self.echo_packets = echo_packets @property def port(self): @@ -40,7 +41,9 @@ class NonrepeatingBuffer(object): self.base_tnc.write(frame, self.base_port) else: self.base_tnc.write(frame) - apex.echo_colorized_frame(frame, self.base_name, False) + + if self.echo_packets: + apex.echo_colorized_frame(frame, self.base_name, False) def read(self, *args, **kwargs): with self.lock: @@ -50,7 +53,8 @@ class NonrepeatingBuffer(object): frame_hash = str(apex.aprs.util.hash_frame(frame)) if frame_hash not in self.packet_cache: self.packet_cache[frame_hash] = frame - apex.echo_colorized_frame(frame, self.base_name, True) + if self.echo_packets: + apex.echo_colorized_frame(frame, self.base_name, True) return frame else: return None -- GitLab