pub struct GenericAioContextHandle<M: RawMutex, A: IntrusiveAdapter<M, L>, L: DefaultLinkOps<Ops = A::LinkOps> + Default>{ /* private fields */ }
Expand description
Cloneable handle to AIO context. Required for any AIO operations
Implementations§
Source§impl<M: RawMutex, A: IntrusiveAdapter<M, L>, L: DefaultLinkOps<Ops = A::LinkOps> + Default> GenericAioContextHandle<M, A, L>
impl<M: RawMutex, A: IntrusiveAdapter<M, L>, L: DefaultLinkOps<Ops = A::LinkOps> + Default> GenericAioContextHandle<M, A, L>
Sourcepub fn available_slots(&self) -> Option<usize>
pub fn available_slots(&self) -> Option<usize>
Number of available AIO slots left in the context
Return None if AIO context stopped, or if use_semaphore
was set to false
Sourcepub async fn submit_request(
&self,
fd: &impl AsRawFd,
command: RawCommand<'_>,
) -> Result<u64, AioCommandError>
pub async fn submit_request( &self, fd: &impl AsRawFd, command: RawCommand<'_>, ) -> Result<u64, AioCommandError>
Submit command to the AIO context
If use_semaphore
set to false
, this function will return
CapacityExceeded
error if the user’s code tries to exceed
the allowed number of in-flight requests
Trait Implementations§
Source§impl<M: RawMutex, A: IntrusiveAdapter<M, L>, L: DefaultLinkOps<Ops = A::LinkOps> + Default> Clone for GenericAioContextHandle<M, A, L>
impl<M: RawMutex, A: IntrusiveAdapter<M, L>, L: DefaultLinkOps<Ops = A::LinkOps> + Default> Clone for GenericAioContextHandle<M, A, L>
Source§impl<M: RawMutex, A: IntrusiveAdapter<M, L>, L: DefaultLinkOps<Ops = A::LinkOps> + Default> Debug for GenericAioContextHandle<M, A, L>
impl<M: RawMutex, A: IntrusiveAdapter<M, L>, L: DefaultLinkOps<Ops = A::LinkOps> + Default> Debug for GenericAioContextHandle<M, A, L>
Auto Trait Implementations§
impl<M, A, L> Freeze for GenericAioContextHandle<M, A, L>
impl<M, A, L> !RefUnwindSafe for GenericAioContextHandle<M, A, L>
impl<M, A, L> Send for GenericAioContextHandle<M, A, L>
impl<M, A, L> Sync for GenericAioContextHandle<M, A, L>
impl<M, A, L> Unpin for GenericAioContextHandle<M, A, L>
impl<M, A, L> !UnwindSafe for GenericAioContextHandle<M, A, L>
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