Struct Outcome
pub struct Outcome {
pub last: Value,
pub produced: Vec<(NodeId, Value)>,
pub keys: Vec<(NodeId, Keys)>,
}Expand description
What came back from executing a plan elsewhere.
Fields§
§last: ValueWhat the last step returned, exactly as it would have returned it here. Not “the last one in the map”: a wave has no single output.
produced: Vec<(NodeId, Value)>What each node produced, to be merged with what is here.
keys: Vec<(NodeId, Keys)>And what each of those is called, so the chain of keys carries on below the slice that went away.
Implementations§
§impl Outcome
impl Outcome
pub fn travelling(self) -> Outcome
pub fn travelling(self) -> Outcome
The same outcome with whatever cannot leave this process left out of
produced.
An intermediate value of a slice is read by the steps of that slice,
which ran where it did: sending it back was never the point, and
refusing the whole answer over one is refusing the case this exists for —
two steps on one host, with something live in between them. What is
not filtered is last, which is the value of the slice itself: that
one has a reader here by definition.
Whoever does read one of the dropped values gets RunError::Lost,
naming both ends.