Block the current task until the client responds to (sessionToken, id),
while polling alive in short slices so a dropped connection releases the
awaiting fiber promptly rather than parking for the full timeout. When
alive returns false before a response arrives, the pending request is
failed with disconnectError (mirroring the GET path's failPendingForIds
on listener disconnect) and that error is thrown. A null alive probe
degrades to the plain await(id, timeout, sessionToken) behaviour.
Block the current task until the client responds to (sessionToken, id), while polling alive in short slices so a dropped connection releases the awaiting fiber promptly rather than parking for the full timeout. When alive returns false before a response arrives, the pending request is failed with disconnectError (mirroring the GET path's failPendingForIds on listener disconnect) and that error is thrown. A null alive probe degrades to the plain await(id, timeout, sessionToken) behaviour.