code: def _parse10(self):
  
          
  
          self.logger.debug("parsing netconf v1.0")
          buf = self._buffer
          buf.seek(self._parsing_pos10)
          if MSG_DELIM in buf.read().decode('UTF-8'):
              buf.seek(0)
              msg, _, remaining = buf.read().decode('UTF-8').partition(MSG_DELIM)
              msg = msg.strip()
              if sys.version < '3':
                  self._dispatch_message(msg.encode())
              else:
                  self._dispatch_message(msg)
              # create new buffer which contains remaining of old buffer
              self._buffer = StringIO()
              self._buffer.write(remaining.encode())
              self._parsing_pos10 = 0
              if len(remaining) > 0:
                  # There could be another entire message in the
                  # buffer, so we should try to parse again.
                  self.logger.debug('Trying another round of parsing since there is still data')
                  self._parse10()
          else:
              # handle case that MSG_DELIM is split over two chunks
              self._parsing_pos10 = buf.tell() - MSG_DELIM_LEN
              if self._parsing_pos10 < 0:
                  self._parsing_pos10 = 0
docs: Messages are delimited by MSG_DELIM. The buffer could have grown by
          a maximum of BUF_SIZE bytes everytime this method is called. Retains
          state across method calls and if a chunk has been read it will not be
          considered again.