Skip to main content

resume_wait

Function resume_wait 

Source
pub async fn resume_wait(
    q: &mut Question,
    store: &Questions,
    timeout: Duration,
) -> Result<Wait>
Expand description

Resume a wait already filed, without adding a turn or notifying again.

This is magi ask --wait <id>’s engine: the process that owned the previous slice is dead (the tool that ran it killed it, or it simply exited after reporting Wait::Pending), but the question on disk never stopped being open, and the owner was already notified about it once. A second notification for the same unanswered question would page the owner every [WAIT_SLICE] for a question they have already seen - so, unlike ask_and_wait, this skips straight to polling.

timeout is not re-armed to a fresh answer_timeout here - the caller computes it as what remains until Question::asked_at plus the configured answer_timeout, so stacking --wait calls can only ever use up the deadline the first ask set, never push it out further.