The careful resume behavior when using BBR is significantly different:
the key variable is the bottleneck bandwidth, which should be remembered, encoded in token, etc.
the test is done by overriding the BW value derived from previous measurement by the remembered value.
during startup, BBR operates in rounds. At the end of the round, it measures the actual delivered bandwidth. The overriding is done for just one round. The next rounds revert to using values derived from measured bandwidth, i.e., reflecting the state of the network.
if the data rate increase was successful, future measurements will reflect that, and startup continues per spec.
if the data rate increase was excessive but did not cause packet losses, BBR will exit startup per spec when 3 successive rounds do not show any increase.
if the increase was excessive but did cause packet losses, BBR will exit Startup and enter the Drain phase. This obviates the need for a "careful retreat" phase.
The careful resume behavior when using BBR is significantly different: