docs: def data_received(self, data):
          """
          Called by the underlying transport when data is received.
  
          :param data: The data received on the connection.
          """
  
          # First, add the data to the receive buffer
          self._recv_buf += data
  
          # Now, pass all frames we can find to the client protocol
          while self._recv_buf and not self._recv_paused:
              try:
                  # Extract one frame
                  frame = self._recv_framer.to_frame(self._recv_buf,
                                                     self._recv_state)
              except exc.NoFrames:
                  # There's data in the buffer, but no complete frames
                  break
  
              # Now call the client protocol's frame_received() method
              self._client.frame_received(frame)