wasmtime_wasi/host/
tcp_create_socket.rs1use crate::bindings::{sockets::network::IpAddressFamily, sockets::tcp_create_socket};
2use crate::tcp::TcpSocket;
3use crate::{IoView, SocketResult, WasiImpl, WasiView};
4use wasmtime::component::Resource;
5
6impl<T> tcp_create_socket::Host for WasiImpl<T>
7where
8 T: WasiView,
9{
10 fn create_tcp_socket(
11 &mut self,
12 address_family: IpAddressFamily,
13 ) -> SocketResult<Resource<TcpSocket>> {
14 let socket = TcpSocket::new(address_family.into())?;
15 let socket = self.table().push(socket)?;
16 Ok(socket)
17 }
18}