wasmtime_wasi/p2/host/
instance_network.rs1use crate::p2::bindings::sockets::instance_network;
2use crate::p2::network::Network;
3use crate::sockets::WasiSocketsCtxView;
4use wasmtime::component::Resource;
5
6impl instance_network::Host for WasiSocketsCtxView<'_> {
7 fn instance_network(&mut self) -> Result<Resource<Network>, wasmtime::Error> {
8 let network = Network { _priv: () };
9 let network = self.table.push(network)?;
10 Ok(network)
11 }
12}
13
14mod named {
15 use crate::p2::bindings::named_imports::wasi::sockets::instance_network;
16 use crate::p2::network::Network;
17 use crate::sockets::WasiSocketsNamedView;
18 use crate::{NamedId, WasiCtxNamedView};
19 use wasmtime::component::Resource;
20
21 impl<T> instance_network::Host for WasiCtxNamedView<'_, T>
22 where
23 T: WasiSocketsNamedView,
24 {
25 fn instance_network(&mut self, id: NamedId) -> Result<Resource<Network>, wasmtime::Error> {
26 super::instance_network::Host::instance_network(&mut self.0.sockets(id))
27 }
28 }
29}