Get next packet from transport.

        :return: parsed packet in a tuple with message type and payload
        :rtype: :py:class:`collections.namedtuple`

def _read(self):
        """Get next packet from transport.

        :return: parsed packet in a tuple with message type and payload
        :rtype: :py:class:`collections.namedtuple`
        """
        raw_response = self.transport.receive()
        response = Packet.parse(raw_response)

        # FIXME
        if response.response_type == Packet.EVENT and response.event_type == "log":
            # queue up any debug log messages, and get next
            self.log_events.append(response)
            # do something?
            self._read()
        else:
            return response