code: def receive_message(self):
          
          # split frames
          while len(self._read_buffer) >= INT_SIZE_IN_BYTES:
              frame_length = struct.unpack_from(FMT_LE_INT, self._read_buffer, 0)[0]
              if frame_length > len(self._read_buffer):
                  return
              message = ClientMessage(memoryview(self._read_buffer)[:frame_length])
              self._read_buffer = self._read_buffer[frame_length:]
              self._builder.on_message(message)
docs: Receives a message from this connection.