pub struct Request<Send, Recv> { /* private fields */ }Expand description
If you need synchronous RPC, you can use this utility
use lifeline::request::Request;
struct Send(usize);
#[derive(Debug, Eq, PartialEq)]
struct Recv(usize);
lifeline::test::block_on(async {
let (request, mut recv) = Request::send(Send(42));
// send the request along a channel, and in a service:
request.reply(|send| async move { Recv(send.0) }).await;
let resp = recv.await;
assert_eq!(Ok(Recv(42)), resp);
})Implementations§
Auto Trait Implementations§
impl<Send, Recv> Freeze for Request<Send, Recv>where
Send: Freeze,
impl<Send, Recv> !RefUnwindSafe for Request<Send, Recv>
impl<Send, Recv> Send for Request<Send, Recv>
impl<Send, Recv> Sync for Request<Send, Recv>
impl<Send, Recv> Unpin for Request<Send, Recv>where
Send: Unpin,
impl<Send, Recv> !UnwindSafe for Request<Send, Recv>
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