You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs(tcp): MPTCP join and option makers lack Raises, Quick-Start rate lacks unit and versionchanged #2235
Is your feature request related to a problem? Please describe.
Some docstrings leave out facts the code depends on:
TCP._make_mptcp_join raises ProtocolError when the segment's flags are neither SYN, SYN/ACK nor ACK. On origin/main, TCP(options=[(Option.Multipath_TCP, {'subtype': MPTCPOption.MP_JOIN})], syn=False, ack=False) raises ProtocolError: TCP: [OptNo 30] 1: invalid flags combination. It is the only maker in the module that raises and has no Raises: section; the _make_mptcp_capable, _make_mptcp_dss, _make_mptcp_addaddr and _make_mode_timeout makers all have one.
TCP._make_tcp_options raises whatever its option makers raise (the _make_mptcp_* and _make_mode_timeout ones), but it has no Raises: section either. _read_tcp_options does have one.
Describe the solution you'd like
Add Raises: ProtocolError: If the flags are none of SYN, SYN/ACK and ACK. to _make_mptcp_join. Add Raises: ProtocolError: If an option maker rejects its option. to _make_tcp_options. Change each Quick-Start rate comment to say it is in kbps (40 * 2 ** N, 0 for N = 0), and add a .. versionchanged:: 1.5.0 to each model saying the rate is an int where it was a float (#2167).
Additional context
The unit is stated only in the makers' rate (in kbps) argument docs, not on the data models that users read.
Activity
docs(tcp): name what the MPTCP and option makers raise; give Quick-St…