@classmethod
    def _parse_iter(cls):
        data = ""
        consumed = 0
        # clear between-message newlines
        while not data:
            data = yield None, consumed
            consumed = len(data) - len(data.lstrip('\n'))
            data = data[consumed:]
        # check for heartbeat
        if data[0] == '\x0a':
            yield cls('HEARTBEAT', None), consumed + 1
        # parse command
        sofar = []
        while '\n' not in data:
            consumed += len(data)
            sofar.append(data)
            data = yield None, consumed
            consumed = 0
        end, _, data = data.partition('\n')
        consumed += len(end) + len(_)
        sofar.append(end)
        command = ''.join(sofar)
        # parse headers
        headers = {}
        sofar = []
        while '\n\n' not in data:
            sofar.append(data)
            consumed += len(data)
            data = yield None, consumed
            consumed = 0
        sofar.append(data)
        data = ''.join(sofar)
        header_str, _, data = data.partition('\n\n')
        consumed += len(header_str) + len(_)
        for cur_header in header_str.split('\n'):
            key, _, value = cur_header.partition(':')
            headers[key] = value
        # parse body
        sofar = []
        if 'content-length' in headers:
            bytes_to_go = headers['content-length'] + 1
            while len(data) - consumed < bytes_to_go:
                sofar.append(data)
                consumed += len(data)
                bytes_to_go -= len(data)
                data = yield None, consumed
                consumed = 0
            end_of_body, leftover = data[:bytes_to_go], data[bytes_to_go:]
            if end_of_body[-1] != '\0':
                raise ValueError('Frame not terminated with null byte.')
            consumed += len(end_of_body)
            end_of_body = end_of_body[:-1]
        else:
            while '\0' not in data:
                sofar.append(data)
                consumed += len(data)
                data = yield None, consumed
                consumed = 0
            end_of_body, _, leftover = data.partition('\0')
            consumed += len(end_of_body) + len(_)
        sofar.append(end_of_body)
        body = ''.join(sofar)
        yield Frame(command, headers, body), consumed
        raise StopIteration()
Reload the data from config file into ``self._list`` and ``self._set``.
dataset/ETHPy150Open paypal/support/support/stomp.py/Frame._parse_iter--crossover with--dataset/ETHPy150Open pinterest/kingpin/kingpin/manageddata/managed_datastructures.py/ManagedList._reload_config_data