def _read_http_settings(self, size, kind, flag):
if size % <NUM_LIT:5> != <NUM_LIT:0>:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>', quiet=True)<EOL><DEDENT>_flag = dict(<EOL>ACK=False,      <EOL>)<EOL>for index, bit in enumerate(flag):<EOL><INDENT>if index == <NUM_LIT:0> and bit:<EOL><INDENT>_flag['<STR_LIT>'] = True<EOL><DEDENT>elif bit:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>', quiet=True)<EOL><DEDENT>else:<EOL><INDENT>continue<EOL><DEDENT><DEDENT>if _flag['<STR_LIT>'] and size:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>', quiet=True)<EOL><DEDENT>_para = dict()<EOL>counter = <NUM_LIT:0><EOL>while counter < size:<EOL><INDENT>_stid = self._read_unpack(<NUM_LIT:1>)<EOL>_pval = self._read_unpack(<NUM_LIT:4>)<EOL>_pkey = _PARA_NAME.get(_stid, '<STR_LIT>')<EOL>if _pkey in _para:<EOL><INDENT>if isinstance(_para[_pkey], tuple):<EOL><INDENT>_para[_pkey] += (_pval,)<EOL><DEDENT>else:<EOL><INDENT>_para[_pkey] = (_para[_pkey], _pval)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>_para[_pkey] = _pval<EOL><DEDENT><DEDENT>data = dict(<EOL>flags=_flag,<EOL>)<EOL>data.update(_para)<EOL>return data<EOL>
Read HTTP/2 SETTINGS frames.

        Structure of HTTP/2 SETTINGS frame [RFC 7540]:
            +-----------------------------------------------+
            |                 Length (24)                   |
            +---------------+---------------+---------------+
            |   Type (8)    |   Flags (8)   |
            +-+-------------+---------------+-------------------------------+
            |R|                 Stream Identifier (31)                      |
            +---------------------------------------------------------------+
            |       Identifier (16)         |
            +-------------------------------+-------------------------------+
            |                        Value (32)                             |
            +---------------------------------------------------------------+
            |                          ......                               |

            Octets      Bits        Name                    Description
              0           0     http.length             Length
              3          24     http.type               Type (2)
              4          32     http.flags              Flags
              5          40     -                       Reserved
              5          41     http.sid                Stream Identifier
              9          72     http.settings           Settings
              9          72     http.settings.id        Identifier
              10         80     http.settings.value     Value