DuplexCoordinator.failPending

Fail every still-pending request with error and wake its awaiting task. Called by the read loop at end-of-input so a caller blocked in await is released with an exception instead of hanging until its timeout. Marks the coordinator closed so any request registered AFTER this point is failed fast (see register) rather than left to time out.

class DuplexCoordinator
@safe
void
failPending