pub struct WithSender<Req, Resp>where
Req: MessageBounds,
Resp: MessageBounds,{ /* private fields */ }Expand description
A generic type for request-response messages
This type contains information about the target actor for the response, as well as the actual request itself.
Implementations can also be dereferenced to the request message and replied to with a response.
Implementations§
Source§impl<Req, Resp> WithSender<Req, Resp>where
Req: MessageBounds,
Resp: MessageBounds,
impl<Req, Resp> WithSender<Req, Resp>where
Req: MessageBounds,
Resp: MessageBounds,
Sourcepub fn new(content: Req, sender: ActorRef<Resp>) -> WithSender<Req, Resp>
pub fn new(content: Req, sender: ActorRef<Resp>) -> WithSender<Req, Resp>
Create a new instance from a request and an actor to reply to
Sourcepub fn from(
content: Req,
sender: &dyn ActorRefFactory<Message = Resp>,
) -> WithSender<Req, Resp>
pub fn from( content: Req, sender: &dyn ActorRefFactory<Message = Resp>, ) -> WithSender<Req, Resp>
Create a new instance from a request and something that can produce a reference to an actor to reply to
This variant is convenient from within a component, as components and their contexts implement ActorRefFactory for their actor message type.
Sourcepub fn take_content(self) -> Req
pub fn take_content(self) -> Req
Takes only the content
This prevents the request from being completed,
as the sender is dropped!
Use only after replying to the request.
Trait Implementations§
Source§impl<Req, Resp> Debug for WithSender<Req, Resp>
impl<Req, Resp> Debug for WithSender<Req, Resp>
Source§impl<Req, Resp> Deref for WithSender<Req, Resp>where
Req: MessageBounds,
Resp: MessageBounds,
impl<Req, Resp> Deref for WithSender<Req, Resp>where
Req: MessageBounds,
Resp: MessageBounds,
Source§impl<Req, Resp> Request for WithSender<Req, Resp>where
Req: MessageBounds,
Resp: MessageBounds,
impl<Req, Resp> Request for WithSender<Req, Resp>where
Req: MessageBounds,
Resp: MessageBounds,
Auto Trait Implementations§
impl<Req, Resp> Freeze for WithSender<Req, Resp>where
Req: Freeze,
impl<Req, Resp> !RefUnwindSafe for WithSender<Req, Resp>
impl<Req, Resp> Send for WithSender<Req, Resp>
impl<Req, Resp> Sync for WithSender<Req, Resp>where
Req: Sync,
impl<Req, Resp> Unpin for WithSender<Req, Resp>where
Req: Unpin,
impl<Req, Resp> UnsafeUnpin for WithSender<Req, Resp>where
Req: UnsafeUnpin,
impl<Req, Resp> !UnwindSafe for WithSender<Req, Resp>
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
Source§impl<T> DispatchEvent for T
impl<T> DispatchEvent for T
Source§impl<T, A> DynAccess<T> for A
impl<T, A> DynAccess<T> for A
Source§fn load(&self) -> DynGuard<T>
fn load(&self) -> DynGuard<T>
The equivalent of
Access::load.