Cwnd only reflects flightsize when the first RTO
happens suddenly, but not during loss recovery.
RFC5681 states that FlightSize should be used to
adjust ssthresh to - and when an RTO happens during
FastRecovery or SACK Loss Recovery, cwnd is typically
mangled to dole out the expected retransmission or
new transmission - but not the actual FlightSize (pipe).
RFC5681 is also clear to not adjust ssthresh on
any subsequent back-to-back RTOs (only the first RTO).
This snippet of code would have to be replicated into
newreno.c, htcp.c, cubic.c, dctcp.c with the appropriate
adjustments.