@@ -12,17 +12,17 @@ use tempfile::tempfile;
12
12
// Helper that polls an AioCb for completion or error
13
13
fn poll_aio ( mut aiocb : & mut AioCb ) -> Result < ( ) > {
14
14
loop {
15
- let err = aio_error ( & mut aiocb) ;
15
+ let err = aiocb. error ( ) ;
16
16
if err != Err ( Error :: from ( Errno :: EINPROGRESS ) ) { return err; } ;
17
17
thread:: sleep ( time:: Duration :: from_millis ( 10 ) ) ;
18
18
}
19
19
}
20
20
21
- // Tests aio_cancel . We aren't trying to test the OS's implementation, only our
22
- // bindings. So it's sufficient to check that aio_cancel returned any
21
+ // Tests AioCb.cancel . We aren't trying to test the OS's implementation, only our
22
+ // bindings. So it's sufficient to check that AioCb.cancel returned any
23
23
// AioCancelStat value.
24
24
#[ test]
25
- fn test_aio_cancel ( ) {
25
+ fn test_cancel ( ) {
26
26
let mut wbuf = "CDEF" . to_string ( ) . into_bytes ( ) ;
27
27
28
28
let f = tempfile ( ) . unwrap ( ) ;
@@ -32,19 +32,19 @@ fn test_aio_cancel() {
32
32
0 , //priority
33
33
SigevNotify :: SigevNone ,
34
34
LioOpcode :: LIO_NOP ) ;
35
- aio_write ( & mut aiocb) . unwrap ( ) ;
36
- let err = aio_error ( & mut aiocb) ;
35
+ aiocb. write ( ) . unwrap ( ) ;
36
+ let err = aiocb. error ( ) ;
37
37
assert ! ( err == Ok ( ( ) ) || err == Err ( Error :: from( Errno :: EINPROGRESS ) ) ) ;
38
38
39
- let cancelstat = aio_cancel ( f . as_raw_fd ( ) , Some ( & mut aiocb ) ) ;
39
+ let cancelstat = aiocb . cancel ( ) ;
40
40
assert ! ( cancelstat. is_ok( ) ) ;
41
41
42
42
// Wait for aiocb to complete, but don't care whether it succeeded
43
43
let _ = poll_aio ( & mut aiocb) ;
44
- let _ = aio_return ( & mut aiocb ) ;
44
+ let _ = aiocb . aio_return ( ) ;
45
45
}
46
46
47
- // Tests using aio_cancel for all outstanding IOs.
47
+ // Tests using aio_cancel_all for all outstanding IOs.
48
48
#[ test]
49
49
fn test_aio_cancel_all ( ) {
50
50
let mut wbuf = "CDEF" . to_string ( ) . into_bytes ( ) ;
@@ -56,30 +56,30 @@ fn test_aio_cancel_all() {
56
56
0 , //priority
57
57
SigevNotify :: SigevNone ,
58
58
LioOpcode :: LIO_NOP ) ;
59
- aio_write ( & mut aiocb) . unwrap ( ) ;
60
- let err = aio_error ( & mut aiocb) ;
59
+ aiocb. write ( ) . unwrap ( ) ;
60
+ let err = aiocb. error ( ) ;
61
61
assert ! ( err == Ok ( ( ) ) || err == Err ( Error :: from( Errno :: EINPROGRESS ) ) ) ;
62
62
63
- let cancelstat = aio_cancel ( f. as_raw_fd ( ) , None ) ;
63
+ let cancelstat = aio_cancel_all ( f. as_raw_fd ( ) ) ;
64
64
assert ! ( cancelstat. is_ok( ) ) ;
65
65
66
66
// Wait for aiocb to complete, but don't care whether it succeeded
67
67
let _ = poll_aio ( & mut aiocb) ;
68
- let _ = aio_return ( & mut aiocb ) ;
68
+ let _ = aiocb . aio_return ( ) ;
69
69
}
70
70
71
71
#[ test]
72
- fn test_aio_fsync ( ) {
72
+ fn test_fsync ( ) {
73
73
const INITIAL : & ' static [ u8 ] = b"abcdef123456" ;
74
74
let mut f = tempfile ( ) . unwrap ( ) ;
75
75
f. write ( INITIAL ) . unwrap ( ) ;
76
76
let mut aiocb = AioCb :: from_fd ( f. as_raw_fd ( ) ,
77
77
0 , //priority
78
78
SigevNotify :: SigevNone ) ;
79
- let err = aio_fsync ( AioFsyncMode :: O_SYNC , & mut aiocb ) ;
79
+ let err = aiocb . fsync ( AioFsyncMode :: O_SYNC ) ;
80
80
assert ! ( err. is_ok( ) ) ;
81
81
poll_aio ( & mut aiocb) . unwrap ( ) ;
82
- aio_return ( & mut aiocb ) . unwrap ( ) ;
82
+ aiocb . aio_return ( ) . unwrap ( ) ;
83
83
}
84
84
85
85
@@ -107,27 +107,27 @@ fn test_aio_suspend() {
107
107
0 , //priority
108
108
SigevNotify :: SigevNone ,
109
109
LioOpcode :: LIO_READ ) ;
110
- aio_write ( & mut wcb) . unwrap ( ) ;
111
- aio_read ( & mut rcb) . unwrap ( ) ;
110
+ wcb. write ( ) . unwrap ( ) ;
111
+ rcb. read ( ) . unwrap ( ) ;
112
112
loop {
113
113
{
114
114
let cbbuf = [ & wcb, & rcb] ;
115
115
assert ! ( aio_suspend( & cbbuf[ ..] , Some ( timeout) ) . is_ok( ) ) ;
116
116
}
117
- if aio_error ( & mut rcb) != Err ( Error :: from ( Errno :: EINPROGRESS ) ) &&
118
- aio_error ( & mut wcb) != Err ( Error :: from ( Errno :: EINPROGRESS ) ) {
117
+ if rcb. error ( ) != Err ( Error :: from ( Errno :: EINPROGRESS ) ) &&
118
+ wcb. error ( ) != Err ( Error :: from ( Errno :: EINPROGRESS ) ) {
119
119
break
120
120
}
121
121
}
122
122
123
- assert ! ( aio_return( & mut wcb ) . unwrap( ) as usize == WBUF . len( ) ) ;
124
- assert ! ( aio_return( & mut rcb ) . unwrap( ) as usize == WBUF . len( ) ) ;
123
+ assert ! ( wcb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
124
+ assert ! ( rcb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
125
125
}
126
126
127
127
// Test a simple aio operation with no completion notification. We must poll
128
128
// for completion
129
129
#[ test]
130
- fn test_aio_read ( ) {
130
+ fn test_read ( ) {
131
131
const INITIAL : & ' static [ u8 ] = b"abcdef123456" ;
132
132
let mut rbuf = vec ! [ 0 ; 4 ] ;
133
133
const EXPECT : & ' static [ u8 ] = b"cdef" ;
@@ -140,11 +140,11 @@ fn test_aio_read() {
140
140
0 , //priority
141
141
SigevNotify :: SigevNone ,
142
142
LioOpcode :: LIO_NOP ) ;
143
- aio_read ( & mut aiocb) . unwrap ( ) ;
143
+ aiocb. read ( ) . unwrap ( ) ;
144
144
145
145
let err = poll_aio ( & mut aiocb) ;
146
146
assert ! ( err == Ok ( ( ) ) ) ;
147
- assert ! ( aio_return( & mut aiocb ) . unwrap( ) as usize == EXPECT . len( ) ) ;
147
+ assert ! ( aiocb . aio_return( ) . unwrap( ) as usize == EXPECT . len( ) ) ;
148
148
}
149
149
150
150
assert ! ( rbuf == EXPECT ) ;
@@ -153,7 +153,7 @@ fn test_aio_read() {
153
153
// Test a simple aio operation with no completion notification. We must poll
154
154
// for completion. Unlike test_aio_read, this test uses AioCb::from_slice
155
155
#[ test]
156
- fn test_aio_write ( ) {
156
+ fn test_write ( ) {
157
157
const INITIAL : & ' static [ u8 ] = b"abcdef123456" ;
158
158
const WBUF : & ' static [ u8 ] = b"CDEF" ; //"CDEF".to_string().into_bytes();
159
159
let mut rbuf = Vec :: new ( ) ;
@@ -169,11 +169,11 @@ fn test_aio_write() {
169
169
SigevNotify :: SigevNone ,
170
170
LioOpcode :: LIO_NOP )
171
171
} ;
172
- aio_write ( & mut aiocb) . unwrap ( ) ;
172
+ aiocb. write ( ) . unwrap ( ) ;
173
173
174
174
let err = poll_aio ( & mut aiocb) ;
175
175
assert ! ( err == Ok ( ( ) ) ) ;
176
- assert ! ( aio_return( & mut aiocb ) . unwrap( ) as usize == WBUF . len( ) ) ;
176
+ assert ! ( aiocb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
177
177
178
178
f. seek ( SeekFrom :: Start ( 0 ) ) . unwrap ( ) ;
179
179
let len = f. read_to_end ( & mut rbuf) . unwrap ( ) ;
@@ -192,7 +192,7 @@ extern fn sigfunc(_: c_int) {
192
192
193
193
// Test an aio operation with completion delivered by a signal
194
194
#[ test]
195
- fn test_aio_write_sigev_signal ( ) {
195
+ fn test_write_sigev_signal ( ) {
196
196
let sa = SigAction :: new ( SigHandler :: Handler ( sigfunc) ,
197
197
SA_RESETHAND ,
198
198
SigSet :: empty ( ) ) ;
@@ -217,12 +217,12 @@ fn test_aio_write_sigev_signal() {
217
217
} ,
218
218
LioOpcode :: LIO_NOP )
219
219
} ;
220
- aio_write ( & mut aiocb) . unwrap ( ) ;
220
+ aiocb. write ( ) . unwrap ( ) ;
221
221
while unsafe { signaled == 0 } {
222
222
thread:: sleep ( time:: Duration :: from_millis ( 10 ) ) ;
223
223
}
224
224
225
- assert ! ( aio_return( & mut aiocb ) . unwrap( ) as usize == WBUF . len( ) ) ;
225
+ assert ! ( aiocb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
226
226
f. seek ( SeekFrom :: Start ( 0 ) ) . unwrap ( ) ;
227
227
let len = f. read_to_end ( & mut rbuf) . unwrap ( ) ;
228
228
assert ! ( len == EXPECT . len( ) ) ;
@@ -262,8 +262,8 @@ fn test_lio_listio_wait() {
262
262
let err = lio_listio ( LioMode :: LIO_WAIT , & [ & mut wcb, & mut rcb] , SigevNotify :: SigevNone ) ;
263
263
err. expect ( "lio_listio failed" ) ;
264
264
265
- assert ! ( aio_return( & mut wcb ) . unwrap( ) as usize == WBUF . len( ) ) ;
266
- assert ! ( aio_return( & mut rcb ) . unwrap( ) as usize == WBUF . len( ) ) ;
265
+ assert ! ( wcb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
266
+ assert ! ( rcb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
267
267
}
268
268
assert ! ( rbuf == b"3456" ) ;
269
269
@@ -308,8 +308,8 @@ fn test_lio_listio_nowait() {
308
308
309
309
poll_aio ( & mut wcb) . unwrap ( ) ;
310
310
poll_aio ( & mut rcb) . unwrap ( ) ;
311
- assert ! ( aio_return( & mut wcb ) . unwrap( ) as usize == WBUF . len( ) ) ;
312
- assert ! ( aio_return( & mut rcb ) . unwrap( ) as usize == WBUF . len( ) ) ;
311
+ assert ! ( wcb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
312
+ assert ! ( rcb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
313
313
}
314
314
assert ! ( rbuf == b"3456" ) ;
315
315
@@ -362,8 +362,8 @@ fn test_lio_listio_signal() {
362
362
thread:: sleep ( time:: Duration :: from_millis ( 10 ) ) ;
363
363
}
364
364
365
- assert ! ( aio_return( & mut wcb ) . unwrap( ) as usize == WBUF . len( ) ) ;
366
- assert ! ( aio_return( & mut rcb ) . unwrap( ) as usize == WBUF . len( ) ) ;
365
+ assert ! ( wcb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
366
+ assert ! ( rcb . aio_return( ) . unwrap( ) as usize == WBUF . len( ) ) ;
367
367
}
368
368
assert ! ( rbuf == b"3456" ) ;
369
369
0 commit comments