Skip to main content

RoutingPlan

Struct RoutingPlan 

Source
pub struct RoutingPlan {
    pub event: LifecycleEventKind,
    pub event_id: String,
    pub invocation_id: String,
    pub adapter: AdapterManifest,
    pub integration_mode: IntegrationMode,
    pub frame_context: Option<FrameContext>,
    pub payload_refs: Vec<PayloadRef>,
    pub capability_snapshot_ref: Option<String>,
    pub sequence: Option<u64>,
    pub idempotency_key: Option<String>,
}
Expand description

Pre-dispatch routing plan produced by route.

Holds only data downstream stages need. Carries a clone of the resolved AdapterManifest so the plan is 'static-friendly — downstream stages may persist or hand it across threads without being tied to the registry’s lifetime.

The plan preserves PayloadRefs exactly as received. The router does not transform them. Issue #3’s renderer will consume them alongside the lifecycle event, adapter identity, integration mode, frame context, and (when present) payload envelopes.

Fields§

§event: LifecycleEventKind

The lifecycle event kind being routed.

§event_id: String

Caller-supplied event id (already validated non-empty).

§invocation_id: String

Caller-supplied invocation id (already validated non-empty).

§adapter: AdapterManifest

Resolved adapter manifest. Both adapter_id and adapter_version matched the request.

§integration_mode: IntegrationMode

Integration mode the caller declared on the request. Negotiation against adapter.integration_modes is a follow-up router issue; this skeleton preserves the declared mode verbatim.

§frame_context: Option<FrameContext>

Frame context, when supplied. Already validated.

§payload_refs: Vec<PayloadRef>

Opaque payload references, in the order the caller supplied them. The router does not inspect or reorder them.

§capability_snapshot_ref: Option<String>

Optional capability-snapshot reference; opaque to the router.

§sequence: Option<u64>

Optional sequence number from the request.

§idempotency_key: Option<String>

Optional idempotency key from the request.

Trait Implementations§

Source§

impl Clone for RoutingPlan

Source§

fn clone(&self) -> RoutingPlan

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 RoutingPlan

Source§

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

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

impl PartialEq for RoutingPlan

Source§

fn eq(&self, other: &RoutingPlan) -> 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 RoutingPlan

Source§

impl StructuralPartialEq for RoutingPlan

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.