use crate::{aio, LockedBuf};
#[derive(Copy, Clone, Debug)]
pub enum Opcode {
Pread,
Pwrite,
Fdsync,
Fsync,
}
impl Opcode {
#[inline]
pub(crate) fn aio_const(self) -> u32 {
use Opcode::*;
match self {
Pread => aio::IOCB_CMD_PREAD,
Pwrite => aio::IOCB_CMD_PWRITE,
Fdsync => aio::IOCB_CMD_FDSYNC,
Fsync => aio::IOCB_CMD_FSYNC,
}
}
}
#[derive(Debug)]
pub struct RawCommand {
pub opcode: Opcode,
pub offset: u64,
pub buf: Option<LockedBuf>,
pub flags: u32,
}