from a_backend import ABackend from stream.talker import StreamTalker from stream.listener import StreamListener class Transceiver(StreamListener, StreamTalker): def __init__(self, name: str): StreamListener.__init__(self) StreamTalker.__init__(self) self.name = name self.backend = None def on_recv(self, data: bytes): self.call_listener(data) def on_register(self, backend: ABackend): self.backend = backend def send(self, data: bytes): self.backend.send(self.name, data)