Skip to content

Commit d8cfdde

Browse files
committed
feat(fs): use AsyncFd in named pipe server
1 parent 6e43b1b commit d8cfdde

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

compio-fs/src/named_pipe.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use windows_sys::Win32::{
2626
},
2727
};
2828

29-
use crate::{File, OpenOptions};
29+
use crate::{AsyncFd, File, OpenOptions};
3030

3131
/// A [Windows named pipe] server.
3232
///
@@ -88,7 +88,7 @@ use crate::{File, OpenOptions};
8888
/// [Windows named pipe]: https://docs.microsoft.com/en-us/windows/win32/ipc/named-pipes
8989
#[derive(Debug, Clone)]
9090
pub struct NamedPipeServer {
91-
handle: File,
91+
handle: AsyncFd<std::fs::File>,
9292
}
9393

9494
impl NamedPipeServer {
@@ -189,8 +189,7 @@ impl AsyncRead for NamedPipeServer {
189189
impl AsyncRead for &NamedPipeServer {
190190
#[inline]
191191
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
194193
}
195194
}
196195

@@ -214,8 +213,7 @@ impl AsyncWrite for NamedPipeServer {
214213
impl AsyncWrite for &NamedPipeServer {
215214
#[inline]
216215
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
219217
}
220218

221219
#[inline]
@@ -974,7 +972,7 @@ impl ServerOptions {
974972
)?;
975973

976974
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 _) })?,
978976
})
979977
}
980978
}

0 commit comments

Comments
 (0)