pub struct NegotiatedPlan {
pub plan: RoutingPlan,
pub outcome: NegotiationOutcome,
pub capability_degradations: Vec<CapabilityDegradation>,
pub placement_decisions: Vec<PayloadPlacementDecision>,
pub warnings: Vec<Warning>,
pub failure_class: Option<FailureClass>,
}Expand description
Negotiation result wrapping a RoutingPlan.
Issue #14 will consume this directly:
outcomeflows intoLifecycleReceipt.status(satisfied->delivered,degraded->degraded,unsupported->failedwithfailure_class=capability_unsupported,requires_operator->failedwithfailure_class=operator_required);capability_degradationsflows intoLifecycleReceipt.capability_degradationsverbatim;placement_decisionsflows intopayload_receipts(onePayloadReceiptper decision);warningsflows intoLifecycleReceipt.warnings;failure_class(whenSome) flows intoLifecycleReceipt.failure_classand seeds the defaultretry_classviaFailureClass::default_retry.
Fields§
§plan: RoutingPlan§outcome: NegotiationOutcome§capability_degradations: Vec<CapabilityDegradation>§placement_decisions: Vec<PayloadPlacementDecision>§warnings: Vec<Warning>§failure_class: Option<FailureClass>Set when outcome is fail-closed (Unsupported /
RequiresOperator) or when at least one payload placement
failed. None when the dispatch path may continue.
Implementations§
Source§impl NegotiatedPlan
impl NegotiatedPlan
Sourcepub fn blocks_dispatch(&self) -> bool
pub fn blocks_dispatch(&self) -> bool
True when outcome blocks dispatch (Unsupported or
RequiresOperator). The router skeleton fails closed: a
caller MUST check this flag before invoking the
crate::router::CallbackInvoker seam.
Trait Implementations§
Source§impl Clone for NegotiatedPlan
impl Clone for NegotiatedPlan
Source§fn clone(&self) -> NegotiatedPlan
fn clone(&self) -> NegotiatedPlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NegotiatedPlan
impl Debug for NegotiatedPlan
Source§impl PartialEq for NegotiatedPlan
impl PartialEq for NegotiatedPlan
Source§fn eq(&self, other: &NegotiatedPlan) -> bool
fn eq(&self, other: &NegotiatedPlan) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for NegotiatedPlan
impl StructuralPartialEq for NegotiatedPlan
Auto Trait Implementations§
impl Freeze for NegotiatedPlan
impl RefUnwindSafe for NegotiatedPlan
impl Send for NegotiatedPlan
impl Sync for NegotiatedPlan
impl Unpin for NegotiatedPlan
impl UnsafeUnpin for NegotiatedPlan
impl UnwindSafe for NegotiatedPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.