pub async fn phased<T, F>(
clock: &PhaseClock,
sent: &SentTracker,
fut: F,
) -> Result<T, TransportError>Expand description
Run fut, an exchange that enters its phases on clock, until it
finishes or the current phase’s allowance runs out. An expiry is
TransportError::PhaseExpired: transport_unsent when no request byte
left the process, transport_interrupted otherwise. Dropping fut on
expiry stops every further write. Nothing is retried.