code: def _read_http_settings(self, size, kind, flag):
          
          if size % 5 != 0:
              raise ProtocolError(f'HTTP/2: [Type {kind}] invalid format', quiet=True)
  
          _flag = dict(
              ACK=False,      # bit 0
          )
          for index, bit in enumerate(flag):
              if index == 0 and bit:
                  _flag['ACK'] = True
              elif bit:
                  raise ProtocolError(f'HTTP/2: [Type {kind}] invalid format', quiet=True)
              else:
                  continue
  
          if _flag['ACK'] and size:
              raise ProtocolError(f'HTTP/2: [Type {kind}] invalid format', quiet=True)
  
          _para = dict()
          counter = 0
          while counter < size:
              _stid = self._read_unpack(1)
              _pval = self._read_unpack(4)
              _pkey = _PARA_NAME.get(_stid, 'Unsigned')
              if _pkey in _para:
                  if isinstance(_para[_pkey], tuple):
                      _para[_pkey] += (_pval,)
                  else:
                      _para[_pkey] = (_para[_pkey], _pval)
              else:
                  _para[_pkey] = _pval
  
          data = dict(
              flags=_flag,
          )
          data.update(_para)
  
          return data
docs: 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