1
Fork 0

feat: implement TcpStream shutdown for wasm32-wasi

Signed-off-by: Harald Hoyer <harald@profian.com>
This commit is contained in:
Harald Hoyer 2022-11-24 09:38:14 +01:00
commit e598af6f27

View file

@ -119,8 +119,14 @@ impl TcpStream {
unsupported() unsupported()
} }
pub fn shutdown(&self, _: Shutdown) -> io::Result<()> { pub fn shutdown(&self, how: Shutdown) -> io::Result<()> {
unsupported() let wasi_how = match how {
Shutdown::Read => wasi::SDFLAGS_RD,
Shutdown::Write => wasi::SDFLAGS_WR,
Shutdown::Both => wasi::SDFLAGS_RD | wasi::SDFLAGS_WR,
};
unsafe { wasi::sock_shutdown(self.socket().as_raw_fd() as _, wasi_how).map_err(err2io) }
} }
pub fn duplicate(&self) -> io::Result<TcpStream> { pub fn duplicate(&self) -> io::Result<TcpStream> {