pub enum PayloadPlacementDecision {
Chosen {
payload_id: String,
payload_kind: String,
byte_size: u64,
content_digest: Option<String>,
chosen: PlacementClass,
first_preference: bool,
rejected: Vec<PlacementRejection>,
},
Failed {
payload_id: String,
payload_kind: String,
byte_size: u64,
content_digest: Option<String>,
failure_class: FailureClass,
rejected: Vec<PlacementRejection>,
},
}Expand description
Per-payload placement decision produced by negotiation.
Either a PlacementClass was chosen (status then carries
the resulting crate::PlacementOutcome equivalent — encoded
here as a typed decision rather than a wire enum so the receipt
stage can map it onto payload_receipts[].status), or no
acceptable placement could be satisfied and the decision is
Failed with the structured rejection list. Both variants carry
the payload provenance observed during negotiation so receipt
synthesis does not need to infer it from callback responses.
Variants§
Chosen
A placement was chosen. payload_kind, byte_size, and
content_digest are copied from the negotiated payload
envelope. chosen is the routing PlacementClass that won;
first_preference is true when the chosen placement was the
first entry in acceptable_placements. rejected lists any
earlier placements that failed before the chosen one was
reached.
Failed
No acceptable placement was satisfiable. payload_kind,
byte_size, and content_digest are copied from the
negotiated payload envelope. failure_class is either
FailureClass::PlacementUnavailable (no acceptable placement
supported at all) or FailureClass::PayloadTooLarge (every
otherwise-supported placement rejected the byte size).
Implementations§
Trait Implementations§
Source§impl Clone for PayloadPlacementDecision
impl Clone for PayloadPlacementDecision
Source§fn clone(&self) -> PayloadPlacementDecision
fn clone(&self) -> PayloadPlacementDecision
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PayloadPlacementDecision
impl Debug for PayloadPlacementDecision
Source§impl PartialEq for PayloadPlacementDecision
impl PartialEq for PayloadPlacementDecision
Source§fn eq(&self, other: &PayloadPlacementDecision) -> bool
fn eq(&self, other: &PayloadPlacementDecision) -> bool
self and other values to be equal, and is used by ==.impl Eq for PayloadPlacementDecision
impl StructuralPartialEq for PayloadPlacementDecision
Auto Trait Implementations§
impl Freeze for PayloadPlacementDecision
impl RefUnwindSafe for PayloadPlacementDecision
impl Send for PayloadPlacementDecision
impl Sync for PayloadPlacementDecision
impl Unpin for PayloadPlacementDecision
impl UnsafeUnpin for PayloadPlacementDecision
impl UnwindSafe for PayloadPlacementDecision
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
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
key and return true if they are equal.