code: def _handle_message(self, data):
          
          if data.type == MSG_SERVER_SETTINGS:
              _LOGGER.info(data.payload)
          elif data.type == MSG_SAMPLE_FORMAT:
              _LOGGER.info(data.payload)
              self._connected = True
          elif data.type == MSG_TIME:
              if not self._buffered:
                  _LOGGER.info('Buffering')
          elif data.type == MSG_HEADER:
              # Push to app source and start playing.
              _LOGGER.info(data.payload.codec.decode('ascii'))
              self._source.push(data.payload.header)
              self._source.play()
          elif data.type == MSG_WIRE_CHUNK:
              # Add chunks to play queue.
              self._buffer.put(data.payload.chunk)
              if self._buffer.qsize() > BUFFER_SIZE:
                  self._buffered = True
              if self._buffer.empty():
                  self._buffered = False
docs: Handle messages.