- `drain` was used by http/2 and http/3 implementations to indicate that the transfer requires send/recv independant from its socket poll state. Intended as a counter, it was used as bool flag only. - a similar mechanism exists on `connectdata->cselect_bits` where specific protocols can indicate something similar, only for the whole connection. - `cselect_bits` are cleard in transfer.c on use and, importantly, also set when the transfer loop expended its `maxloops` tries. `drain` was not cleared by transfer and the http2/3 implementations had to take care of that. - `dselect_bits` is cleared *and* set by the transfer loop. http2/3 does no longer clear it, only set when new events happen. This change unifies the handling of socket poll overrides, extending `cselect_bits` by a easy handle specific value and a common treatment in transfers. Closes #11005 |
||
|---|---|---|
| .. | ||
| curl_msh3.c | ||
| curl_msh3.h | ||
| curl_ngtcp2.c | ||
| curl_ngtcp2.h | ||
| curl_quiche.c | ||
| curl_quiche.h | ||
| vquic_int.h | ||
| vquic.c | ||
| vquic.h | ||