pub struct RouterAsyncReqChannel<'r> { /* private fields */ }
Expand description
A request channel.
Implementations§
Source§impl<'r> RouterAsyncReqChannel<'r>
impl<'r> RouterAsyncReqChannel<'r>
Sourcepub fn tag_noexpire(&mut self) -> Result<()>
pub fn tag_noexpire(&mut self) -> Result<()>
Set the tag to not expire. That allows multiple calls to send()
.
async_drop
must be called prior to drop.
Sourcepub async fn async_drop(self)
pub async fn async_drop(self)
This must be called prior to drop whenever tag_noexpire()
is used.
A workaround until async drop is implemented in Rust itself. https://github.com/rust-lang/rust/issues/126482
Trait Implementations§
Source§impl AsyncReqChannel for RouterAsyncReqChannel<'_>
A request channel
impl AsyncReqChannel for RouterAsyncReqChannel<'_>
A request channel
Created with Router::req()
.
Source§async fn send_vectored(
&mut self,
typ: MsgType,
integrity_check: MsgIC,
bufs: &[&[u8]],
) -> Result<()>
async fn send_vectored( &mut self, typ: MsgType, integrity_check: MsgIC, bufs: &[&[u8]], ) -> Result<()>
Send a message.
This will async block until the message has been enqueued to the physical port. Note that it will return failure immediately if the MCTP stack has no available tags, that behaviour may need changing in future.
Subsequent calls will fail unless tag_noexpire() was performed.
async fn recv<'f>( &mut self, buf: &'f mut [u8], ) -> Result<(MsgType, MsgIC, &'f mut [u8])>
Source§fn remote_eid(&self) -> Eid
fn remote_eid(&self) -> Eid
Return the remote Endpoint ID
fn send( &mut self, typ: MsgType, buf: &[u8], ) -> impl Future<Output = Result<(), Error>>
Auto Trait Implementations§
impl<'r> Freeze for RouterAsyncReqChannel<'r>
impl<'r> !RefUnwindSafe for RouterAsyncReqChannel<'r>
impl<'r> Send for RouterAsyncReqChannel<'r>
impl<'r> Sync for RouterAsyncReqChannel<'r>
impl<'r> Unpin for RouterAsyncReqChannel<'r>
impl<'r> !UnwindSafe for RouterAsyncReqChannel<'r>
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