pub enum Delivery {
Parked {
waiting_for: Vec<AgentName>,
},
Ready(Vec<Flight>),
Direct(Box<Flight>),
Late(Box<Flight>),
}Expand description
The outcome of delivering a flight to a joined agent.
Variants§
Parked
The flight was parked; the agent stays asleep.
Ready(Vec<Flight>)
The condition is met. The agent should be spawned exactly once with these flights.
Direct(Box<Flight>)
The sender is not a declared upstream, so the barrier does not apply.
The flight bypasses the barrier and wakes the agent on its own. It is not an error: the route check has already established that the edge exists, and a barrier only speaks for the upstreams it names. This is what lets a joined agent also be an entry point.
Late(Box<Flight>)
The barrier already released for this dispatch wave, and this upstream arrived after.
Only join = "any" produces this: it releases on the first arrival, so every other
upstream in the same wave is necessarily late. Dropping the flight is the whole point of
any — the alternative is waking the agent once per upstream, which for a publisher means
one pull request per straggler.
Returned rather than silently discarded so the Tower can record that work was superseded.