Path: blob/main/crates/wasi/src/p2/host/tcp_create_socket.rs
3069 views
use crate::p2::SocketResult;1use crate::p2::bindings::{sockets::network::IpAddressFamily, sockets::tcp_create_socket};2use crate::sockets::{SocketAddressFamily, TcpSocket, WasiSocketsCtxView};3use wasmtime::component::Resource;45impl tcp_create_socket::Host for WasiSocketsCtxView<'_> {6fn create_tcp_socket(7&mut self,8address_family: IpAddressFamily,9) -> SocketResult<Resource<TcpSocket>> {10let socket = TcpSocket::new(self.ctx, address_family.into())?;11let socket = self.table.push(socket)?;12Ok(socket)13}14}1516impl From<IpAddressFamily> for SocketAddressFamily {17fn from(family: IpAddressFamily) -> SocketAddressFamily {18match family {19IpAddressFamily::Ipv4 => Self::Ipv4,20IpAddressFamily::Ipv6 => Self::Ipv6,21}22}23}242526