pub struct DriverReplySink { /* private fields */ }Expand description
Concrete ReplySink implementation for the driver.
If dropped without send_reply being called, automatically sends
VoxError::Cancelled to the caller. This guarantees that every
request attempt receives exactly one terminal response
(rpc.response.one-per-request), even if the handler panics or
forgets to reply.
Trait Implementations§
Source§impl Drop for DriverReplySink
impl Drop for DriverReplySink
Source§impl ReplySink for DriverReplySink
impl ReplySink for DriverReplySink
Source§async fn send_reply(self, response: RequestResponse<'_>)
async fn send_reply(self, response: RequestResponse<'_>)
Send the terminal response for this request attempt, consuming the sink.
Any error that happens during
send_reply must set a flag in the driver
for it to resolve the attempt as failed. Read moreSource§fn channel_binder(&self) -> Option<&dyn ChannelBinder>
fn channel_binder(&self) -> Option<&dyn ChannelBinder>
Return a channel binder for binding Tx/Rx handles in deserialized args. Read more
Auto Trait Implementations§
impl Freeze for DriverReplySink
impl !RefUnwindSafe for DriverReplySink
impl Send for DriverReplySink
impl Sync for DriverReplySink
impl Unpin for DriverReplySink
impl UnsafeUnpin for DriverReplySink
impl !UnwindSafe for DriverReplySink
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