pub struct Packet<P, E>{ /* private fields */ }Expand description
Represents a packet that wraps a message and specifies its type and reply address.
The Packet struct is used to encapsulate a message of type E along with an optional reply
address. It is generic over two type parameters:
P: The handler type that can handle the message typeE.E: The message type that implements theMessagetrait.
The packet can be created with or without a reply address using the provided constructor methods.
Implementations§
Source§impl<P, E> Packet<P, E>
impl<P, E> Packet<P, E>
Sourcepub fn without_reply(message: E) -> Self
pub fn without_reply(message: E) -> Self
Creates a new Packet without a reply address.
This method is a shorthand for creating a packet that does not expect a response.
§Returns
A new Packet instance containing the provided message and no reply address.
Sourcepub fn with_reply(
message: E,
reply_address: Sender<Result<ResponseFor<P, E>, PuppetError>>,
) -> Self
pub fn with_reply( message: E, reply_address: Sender<Result<ResponseFor<P, E>, PuppetError>>, ) -> Self
Creates a new Packet with a reply address.
This method is a shorthand for creating a packet that expects a response.
§Returns
A new Packet instance containing the provided message and reply address.
Trait Implementations§
Source§impl<P, E> Envelope<P> for Packet<P, E>
impl<P, E> Envelope<P> for Packet<P, E>
Source§fn handle_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
puppet: &'life1 mut P,
ctx: &'life2 mut Context<P>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
puppet: &'life1 mut P,
ctx: &'life2 mut Context<P>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Handles the message using the provided puppet and context.
Source§fn reply_error<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ctx: &'life1 Context<P>,
err: PuppetError,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reply_error<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ctx: &'life1 Context<P>,
err: PuppetError,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sends an error as a response using the provided context.
Auto Trait Implementations§
impl<P, E> Freeze for Packet<P, E>where
E: Freeze,
impl<P, E> !RefUnwindSafe for Packet<P, E>
impl<P, E> Send for Packet<P, E>
impl<P, E> Sync for Packet<P, E>where
E: Sync,
impl<P, E> Unpin for Packet<P, E>
impl<P, E> !UnwindSafe for Packet<P, E>
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
Mutably borrows from an owned value. Read more