@abstractmethod<EOL><INDENT>def read_packet(self):<DEDENT>
pass<EOL>
Synchronously read a message. This message could be from the Pebble(in which case it will be a
:class:`PebblePacket`), or it could be from the transport, in which case the result is transport-defined.
The origin of the result is indicated by the returned :class:`MessageTarget`.

:return: (:class:`MessageTarget`, :class:`libpebble2.protocol.base.PebblePacket`)