pub struct DeliveryRecipient { /* private fields */ }Expand description
The one live agent an intervention was put in front of.
Three parts because all three are needed to say “this one and not that one”: the execution names the piece of work, the incarnation names the process generation doing it, and the role names the seat it holds. Drop the incarnation and a replaced agent answers for its predecessor; drop the role and the answer cannot be checked against the item’s target.
Implementations§
Source§impl DeliveryRecipient
impl DeliveryRecipient
pub const fn new( agent_execution_id: CeremonyAgentExecutionId, incarnation: HostAgentIncarnation, role_id: RoleId, ) -> Self
pub const fn agent_execution_id(&self) -> &CeremonyAgentExecutionId
pub const fn incarnation(&self) -> &HostAgentIncarnation
pub const fn role_id(&self) -> &RoleId
Sourcepub fn exact_target(&self) -> HostDeliveryTarget
pub fn exact_target(&self) -> HostDeliveryTarget
The ledger destination that names exactly this recipient.
Sourcepub fn role_target(&self) -> HostDeliveryTarget
pub fn role_target(&self) -> HostDeliveryTarget
The ledger destination for the seat, whoever is sitting in it.
Sourcepub fn is_same_incarnation_as(&self, other: &Self) -> bool
pub fn is_same_incarnation_as(&self, other: &Self) -> bool
Whether this is the same execution and the same generation.
The comparison an exact target is checked with: a new process picking up the same execution is a different recipient, and letting it acknowledge would credit one agent with another’s answer.