@@ -26,7 +26,7 @@ use windows_sys::Win32::{
26
26
} ,
27
27
} ;
28
28
29
- use crate :: { File , OpenOptions } ;
29
+ use crate :: { AsyncFd , File , OpenOptions } ;
30
30
31
31
/// A [Windows named pipe] server.
32
32
///
@@ -88,7 +88,7 @@ use crate::{File, OpenOptions};
88
88
/// [Windows named pipe]: https://docs.microsoft.com/en-us/windows/win32/ipc/named-pipes
89
89
#[ derive( Debug , Clone ) ]
90
90
pub struct NamedPipeServer {
91
- handle : File ,
91
+ handle : AsyncFd < std :: fs :: File > ,
92
92
}
93
93
94
94
impl NamedPipeServer {
@@ -189,8 +189,7 @@ impl AsyncRead for NamedPipeServer {
189
189
impl AsyncRead for & NamedPipeServer {
190
190
#[ inline]
191
191
async fn read < B : IoBufMut > ( & mut self , buffer : B ) -> BufResult < usize , B > {
192
- // The position is ignored.
193
- self . handle . read_at ( buffer, 0 ) . await
192
+ ( & self . handle ) . read ( buffer) . await
194
193
}
195
194
}
196
195
@@ -214,8 +213,7 @@ impl AsyncWrite for NamedPipeServer {
214
213
impl AsyncWrite for & NamedPipeServer {
215
214
#[ inline]
216
215
async fn write < T : IoBuf > ( & mut self , buffer : T ) -> BufResult < usize , T > {
217
- // The position is ignored.
218
- ( & self . handle ) . write_at ( buffer, 0 ) . await
216
+ ( & self . handle ) . write ( buffer) . await
219
217
}
220
218
221
219
#[ inline]
@@ -974,7 +972,7 @@ impl ServerOptions {
974
972
) ?;
975
973
976
974
Ok ( NamedPipeServer {
977
- handle : File :: from_std ( unsafe { std:: fs:: File :: from_raw_handle ( h as _ ) } ) ?,
975
+ handle : AsyncFd :: new ( unsafe { std:: fs:: File :: from_raw_handle ( h as _ ) } ) ?,
978
976
} )
979
977
}
980
978
}
0 commit comments