diff --git a/src/apex/nonrepeating_buffer.py b/src/apex/nonrepeating_buffer.py index 5bc7683f5abf3abd16170481b7303215b0a8cf57..ba71854531205392a3d6c8cb47f4232f418b9e44 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