Struct ockam_core::Routed

source ·
pub struct Routed<M: Message> { /* private fields */ }
Expand description

A message wrapper that provides message route information.

Workers can accept arbitrary message types, which may not contain information about their routes.

However, the Ockam worker and messaging system already keeps track of this information internally.

This type makes it possible to expose this information to the user, without requiring changes to the user’s message types.

§Examples

See ockam_node::WorkerRelay for a usage example.

Implementations§

source§

impl<M: Message> Routed<M>

source

pub fn new( msg_addr: Address, src_addr: Address, local_msg: LocalMessage ) -> Self

Create a new Routed message wrapper from the given message, message address and a local message that contains routing information.

source

pub fn msg_addr(&self) -> Address

Return a copy of the message address.

source

pub fn src_addr(&self) -> Address

True sender of the message

source

pub fn onward_route(&self) -> Route

Return a copy of the onward route for the wrapped message.

source

pub fn return_route(&self) -> Route

Return a copy of the full return route for the wrapped message.

source

pub fn sender(&self) -> Result<Address>

Return a copy of the sender address for the wrapped message.

source

pub fn into_body(self) -> Result<M>

Consume the message wrapper and return the original message.

source

pub fn into_local_message(self) -> LocalMessage

Consume the message wrapper and return the underlying local message.

source

pub fn local_message(&self) -> &LocalMessage

Return a reference to the underlying local message.

source

pub fn payload(&self) -> &[u8]

Return a reference to the underlying transport message’s binary payload.

source

pub fn into_payload(self) -> Vec<u8>

Consume the message wrapper and return the underlying transport message’s binary payload.

Trait Implementations§

source§

impl<M: Message + Debug> Debug for Routed<M>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<M> Freeze for Routed<M>

§

impl<M> RefUnwindSafe for Routed<M>
where M: RefUnwindSafe,

§

impl<M> Send for Routed<M>

§

impl<M> Sync for Routed<M>
where M: Sync,

§

impl<M> Unpin for Routed<M>
where M: Unpin,

§

impl<M> UnwindSafe for Routed<M>
where M: UnwindSafe,

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FutureExt for T

source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more