2
2
extern crate test;
3
3
4
4
use std:: fs:: File ;
5
- use std:: io;
6
- use std:: path:: PathBuf ;
5
+ use std:: io:: { self , IoSliceMut } ;
7
6
use std:: os:: unix:: io:: { AsRawFd , RawFd } ;
7
+ use std:: path:: PathBuf ;
8
8
9
9
const TEXT : & [ u8 ] = b"I really wanna stop
10
10
But I just gotta taste for it
@@ -28,8 +28,10 @@ fn read_test() -> io::Result<()> {
28
28
path. push ( "text.txt" ) ;
29
29
let file = File :: open ( & path) ?;
30
30
let mut buf1 = [ 0 ; 4096 ] ;
31
+
31
32
unsafe {
32
- prep ( & mut io_uring, & mut buf1, file. as_raw_fd ( ) ) ?;
33
+ let mut bufs = [ io:: IoSliceMut :: new ( & mut buf1) ] ;
34
+ prep ( & mut io_uring, & mut bufs, file. as_raw_fd ( ) ) ?;
33
35
}
34
36
35
37
let dirt = dirty_stack ( ) ;
@@ -48,11 +50,10 @@ fn read_test() -> io::Result<()> {
48
50
}
49
51
50
52
#[ inline( never) ]
51
- unsafe fn prep ( ring : & mut iou:: IoUring , buf : & mut [ u8 ] , fd : RawFd ) -> io:: Result < ( ) > {
53
+ unsafe fn prep ( ring : & mut iou:: IoUring , bufs : & mut [ IoSliceMut ] , fd : RawFd ) -> io:: Result < ( ) > {
52
54
let mut sq = ring. sq ( ) ;
53
55
let mut sqe = sq. next_sqe ( ) . unwrap ( ) ;
54
- let mut bufs = [ io:: IoSliceMut :: new ( buf) ] ;
55
- sqe. prep_read_vectored ( fd, & mut bufs, 0 ) ;
56
+ sqe. prep_read_vectored ( fd, bufs, 0 ) ;
56
57
sqe. set_user_data ( 0xDEADBEEF ) ;
57
58
sq. submit ( ) ?;
58
59
Ok ( ( ) )
0 commit comments