from abc import ABC from stream.listener import StreamListener class StreamTalker(ABC): def __init__(self): self.sinks = [] def register_listener(self, sink: StreamListener): self.sinks.append(sink) def call_listener(self, data: bytes): for sink in self.sinks: sink.on_recv(data)