wasmtime_wasi/host/
instance_network.rs

1use crate::bindings::sockets::instance_network;
2use crate::network::Network;
3use crate::{IoView, WasiImpl, WasiView};
4use wasmtime::component::Resource;
5
6impl<T> instance_network::Host for WasiImpl<T>
7where
8    T: WasiView,
9{
10    fn instance_network(&mut self) -> Result<Resource<Network>, anyhow::Error> {
11        let network = Network {
12            socket_addr_check: self.ctx().socket_addr_check.clone(),
13            allow_ip_name_lookup: self.ctx().allowed_network_uses.ip_name_lookup,
14        };
15        let network = self.table().push(network)?;
16        Ok(network)
17    }
18}