Closed sujaldev closed 6 days ago
Do you actually call conn.local_settings.acknowledge()
as shown in your code snippet?
I believe this happens automatically once the other side of the connection acknowledges that this setting is valid, see here: https://github.com/python-hyper/h2/blob/eaa1489e57531a555a40731e0bc8b3b6e9cdffc3/src/h2/connection.py#L1704
which then updates max_inbound_frame_size
here:
https://github.com/python-hyper/h2/blob/eaa1489e57531a555a40731e0bc8b3b6e9cdffc3/src/h2/connection.py#L1938
In your case, you are forcing a max frame size without waiting for the other side to ACK it - which might lead to connection or protocol errors.
Ah, I didn't realize this is called automatically. My intention, however, is to override the default settings sent in the initial SETTINGS frame, which does not contain the overridden settings if I do not call acknowledge()
. I'd also like to avoid sending an additional SETTINGS frame via update_settings()
as it seems unnecessary and would require modifying tests. I suppose I'll do as suggested in #1042 to override the defaults.
Thanks.
I am using the following code to update the MAX_FRAME_SIZE setting:
but this causes a FRAME_SIZE_ERROR, so I also need to append:
Shouldn't
max_inbound_frame_size
be implemented with a setter/getter instead of just copying fromSettings
at__init__
?