sel4_microkit_message

Trait MessageInfoExt

Source
pub trait MessageInfoExt: Sized {
    // Required methods
    fn send<T: MessageSend>(val: T) -> Result<Self, T::Error>;
    fn recv<T: MessageRecv>(self) -> Result<T, MessageRecvErrorFor<T>>;

    // Provided methods
    fn send_unspecified_error() -> Self { ... }
    fn send_empty() -> Self { ... }
    fn recv_empty(self) -> Result<(), MessageRecvErrorFor<EmptyMessage>> { ... }
    fn send_with_trivial_label<T: MessageValueSend>(
        val: T,
    ) -> Result<Self, T::Error> { ... }
    fn recv_with_trivial_label<T: MessageValueRecv>(
        self,
    ) -> Result<T, MessageRecvErrorFor<TriviallyLabeled<T>>> { ... }
    fn send_using_postcard<T: Serialize>(
        val: T,
    ) -> Result<Self, <MessageValueUsingPostcard<T> as MessageValueSend>::Error> { ... }
    fn recv_using_postcard<T: for<'a> Deserialize<'a>>(
        self,
    ) -> Result<T, MessageRecvErrorFor<TriviallyLabeled<MessageValueUsingPostcard<T>>>> { ... }
}

Required Methods§

Source

fn send<T: MessageSend>(val: T) -> Result<Self, T::Error>

Source

fn recv<T: MessageRecv>(self) -> Result<T, MessageRecvErrorFor<T>>

Provided Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl MessageInfoExt for MessageInfo

Source§

fn send<T: MessageSend>(val: T) -> Result<Self, T::Error>

Source§

fn recv<T: MessageRecv>(self) -> Result<T, MessageRecvErrorFor<T>>

Implementors§