Struct nix::sys::aio::LioCbBuilder
pub struct LioCbBuilder<'a> {
pub aiocbs: Vec<AioCb<'a>>,
}
The portability is definied by:
#[cfg(not(any(target_os = "ios", target_os = "macos")))]
Documentation
Used to construct LioCb
Fields
Implementations
impl<'a> LioCbBuilder<'a>
pub fn with_capacity(capacity: usize) -> LioCbBuilder<'a>
Initialize an empty LioCb
pub fn emplace_slice(
Self,
fd: RawFd,
offs: off_t,
buf: &'a [u8],
prio: libc::c_int,
sigev_notify: SigevNotify,
opcode: LioOpcode
) -> Self
Self,
fd: RawFd,
offs: off_t,
buf: &'a [u8],
prio: libc::c_int,
sigev_notify: SigevNotify,
opcode: LioOpcode
) -> Self
Add a new operation on an immutable slice to the LioCb
under
construction.
Arguments are the same as for AioCb::from_slice
pub fn emplace_mut_slice(
Self,
fd: RawFd,
offs: off_t,
buf: &'a mut [u8],
prio: libc::c_int,
sigev_notify: SigevNotify,
opcode: LioOpcode
) -> Self
Self,
fd: RawFd,
offs: off_t,
buf: &'a mut [u8],
prio: libc::c_int,
sigev_notify: SigevNotify,
opcode: LioOpcode
) -> Self
Add a new operation on a mutable slice to the LioCb
under
construction.
Arguments are the same as for AioCb::from_mut_slice
pub fn finish(Self) -> LioCb<'a>
Finalize this LioCb
.
Afterwards it will be possible to issue the operations with
LioCb::listio
. Conversely, it will no longer be possible to add new
operations with LioCbBuilder::emplace_slice
or
LioCbBuilder::emplace_mut_slice
.
Trait Implementations
impl<'a> Debug for LioCbBuilder<'a>
fn fmt(&Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Result
Auto Trait Implementations
impl<'a> !Unpin for LioCbBuilder<'a>
impl<'a> RefUnwindSafe for LioCbBuilder<'a>
impl<'a> Send for LioCbBuilder<'a>
impl<'a> Sync for LioCbBuilder<'a>
impl<'a> UnwindSafe for LioCbBuilder<'a>
Blanket Implementations
impl<T> BorrowMut<T> for T
where
T: ?Sized,
where
T: ?Sized,
fn borrow_mut(&mut Self) -> &mut T