class BufferMixin(object): def __init__(self): self.buffer = Buffer() def clearBuffer(self): self.buffer.clear() def flushBuffer(self): return self.buffer.flush()
class BufferedProtocol(WriterMixin, ReaderMixin, object, Protocol): def __init__(self): super(BufferedProtocol, self).__init__() self.buffer = Buffer() def clearBuffer(self): self.buffer.clear() def dataReceived(self, data): self.buffer.extend(data) def connectionLost(self, reason): self.buffer.clear() def writeBytes(self, data): self.transport.write(data)