def dataReceived(self, data): self.buffer.extend(data) data = ''.join(self.buffer) while True: packet, data = Packet.packet_from_buffer(data) if packet is not None: self.port_agent.router.got_data([packet]) self.buffer.clear() self.buffer.extend(data) else: break