wasmtime_wasi/host/
udp_create_socket.rs

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