Skip to main content

PayloadPlacementDecision

Enum PayloadPlacementDecision 

Source
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.

Fields

§payload_id: String
§payload_kind: String
§byte_size: u64
§content_digest: Option<String>
§first_preference: bool
§

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).

Fields

§payload_id: String
§payload_kind: String
§byte_size: u64
§content_digest: Option<String>
§failure_class: FailureClass

Implementations§

Trait Implementations§

Source§

impl Clone for PayloadPlacementDecision

Source§

fn clone(&self) -> PayloadPlacementDecision

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PayloadPlacementDecision

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for PayloadPlacementDecision

Source§

fn eq(&self, other: &PayloadPlacementDecision) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for PayloadPlacementDecision

Source§

impl StructuralPartialEq for PayloadPlacementDecision

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.