1
0
Fork 0
forked from wry/wry

io-uring: add readable/writable

This commit is contained in:
Julian Orth 2022-05-12 20:33:58 +02:00
parent 25d817b722
commit dcdd91c0b0
31 changed files with 285 additions and 189 deletions

View file

@ -1,8 +1,9 @@
use {
crate::io_uring::{
ops::TaskResult,
pending_result::PendingResult,
sys::{io_uring_sqe, IORING_OP_WRITE},
IoUring, IoUringData, IoUringError, Task,
IoUring, IoUringData, Task,
},
std::{
cell::{Cell, RefCell},
@ -19,7 +20,7 @@ impl IoUring {
buf: &Rc<Vec<u8>>,
offset: usize,
n: usize,
) -> Result<usize, IoUringError> {
) -> TaskResult<usize> {
self.ring.check_destroyed()?;
let id = self.ring.id();
let pr = self.ring.pending_results.acquire();
@ -39,7 +40,7 @@ impl IoUring {
});
self.ring.schedule(pw);
}
Ok(pr.await? as usize)
Ok(pr.await.map(|v| v as usize))
}
}