Struct wasmer_wasix::runners::dproxy::networking::LocalWithLoopbackNetworking
source · pub struct LocalWithLoopbackNetworking {
inner_networking: Arc<dyn VirtualNetworking + Send + Sync + 'static>,
local_listening: Arc<Mutex<LocalWithLoopbackNetworkingListening>>,
loopback_networking: LoopbackNetworking,
}
Fields§
§inner_networking: Arc<dyn VirtualNetworking + Send + Sync + 'static>
§local_listening: Arc<Mutex<LocalWithLoopbackNetworkingListening>>
§loopback_networking: LoopbackNetworking
Implementations§
source§impl LocalWithLoopbackNetworking
impl LocalWithLoopbackNetworking
pub fn new() -> Self
pub fn poll_listening(&self, cx: &mut Context<'_>) -> Poll<SocketAddr>
pub fn register_listener(&self, addr: SocketAddr)
pub fn loopback_networking(&self) -> LoopbackNetworking
Trait Implementations§
source§impl Clone for LocalWithLoopbackNetworking
impl Clone for LocalWithLoopbackNetworking
source§fn clone(&self) -> LocalWithLoopbackNetworking
fn clone(&self) -> LocalWithLoopbackNetworking
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for LocalWithLoopbackNetworking
impl Debug for LocalWithLoopbackNetworking
source§impl VirtualNetworking for LocalWithLoopbackNetworking
impl VirtualNetworking for LocalWithLoopbackNetworking
source§fn bridge<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
network: &'life1 str,
access_token: &'life2 str,
security: StreamSecurity,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn bridge<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
network: &'life1 str,
access_token: &'life2 str,
security: StreamSecurity,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Bridges this local network with a remote network, which is required in order to make lower level networking calls (such as UDP/TCP)
source§fn unbridge<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn unbridge<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Disconnects from the remote network essentially unbridging it
source§fn dhcp_acquire<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<IpAddr>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn dhcp_acquire<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<IpAddr>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Acquires an IP address on the network and configures the routing tables
source§fn ip_add<'life0, 'async_trait>(
&'life0 self,
ip: IpAddr,
prefix: u8,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ip_add<'life0, 'async_trait>(
&'life0 self,
ip: IpAddr,
prefix: u8,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Adds a static IP address to the interface with a netmask prefix
source§fn ip_remove<'life0, 'async_trait>(
&'life0 self,
ip: IpAddr,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ip_remove<'life0, 'async_trait>(
&'life0 self,
ip: IpAddr,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Removes a static (or dynamic) IP address from the interface
source§fn ip_clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ip_clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Clears all the assigned IP addresses for this interface
source§fn ip_list<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<IpCidr>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ip_list<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<IpCidr>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists all the IP addresses currently assigned to this interface
source§fn mac<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<[u8; 6], NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn mac<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<[u8; 6], NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the hardware MAC address for this interface
source§fn gateway_set<'life0, 'async_trait>(
&'life0 self,
ip: IpAddr,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn gateway_set<'life0, 'async_trait>(
&'life0 self,
ip: IpAddr,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Adds a default gateway to the routing table
source§fn route_add<'life0, 'async_trait>(
&'life0 self,
cidr: IpCidr,
via_router: IpAddr,
preferred_until: Option<Duration>,
expires_at: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn route_add<'life0, 'async_trait>(
&'life0 self,
cidr: IpCidr,
via_router: IpAddr,
preferred_until: Option<Duration>,
expires_at: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Adds a specific route to the routing table
source§fn route_remove<'life0, 'async_trait>(
&'life0 self,
cidr: IpAddr,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn route_remove<'life0, 'async_trait>(
&'life0 self,
cidr: IpAddr,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Removes a routing rule from the routing table
source§fn route_clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn route_clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Clears the routing table for this interface
source§fn route_list<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<IpRoute>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn route_list<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<IpRoute>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists all the routes defined in the routing table for this interface
source§fn bind_raw<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualRawSocket + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn bind_raw<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualRawSocket + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Creates a low level socket that can read and write Ethernet packets directly to the interface
source§fn listen_tcp<'life0, 'async_trait>(
&'life0 self,
addr: SocketAddr,
only_v6: bool,
reuse_port: bool,
reuse_addr: bool,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualTcpListener + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn listen_tcp<'life0, 'async_trait>(
&'life0 self,
addr: SocketAddr,
only_v6: bool,
reuse_port: bool,
reuse_addr: bool,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualTcpListener + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Listens for TCP connections on a specific IP and Port combination Multiple servers (processes or threads) can bind to the same port if they each set the reuse-port and-or reuse-addr flags
source§fn bind_udp<'life0, 'async_trait>(
&'life0 self,
addr: SocketAddr,
reuse_port: bool,
reuse_addr: bool,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualUdpSocket + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn bind_udp<'life0, 'async_trait>(
&'life0 self,
addr: SocketAddr,
reuse_port: bool,
reuse_addr: bool,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualUdpSocket + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Opens a UDP socket that listens on a specific IP and Port combination Multiple servers (processes or threads) can bind to the same port if they each set the reuse-port and-or reuse-addr flags
source§fn bind_icmp<'life0, 'async_trait>(
&'life0 self,
addr: IpAddr,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualIcmpSocket + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn bind_icmp<'life0, 'async_trait>(
&'life0 self,
addr: IpAddr,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualIcmpSocket + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Creates a socket that can be used to send and receive ICMP packets from a paritcular IP address
source§fn connect_tcp<'life0, 'async_trait>(
&'life0 self,
addr: SocketAddr,
peer: SocketAddr,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualTcpSocket + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connect_tcp<'life0, 'async_trait>(
&'life0 self,
addr: SocketAddr,
peer: SocketAddr,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn VirtualTcpSocket + Sync>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Opens a TCP connection to a particular destination IP address and port
source§fn resolve<'life0, 'life1, 'async_trait>(
&'life0 self,
host: &'life1 str,
port: Option<u16>,
dns_server: Option<IpAddr>,
) -> Pin<Box<dyn Future<Output = Result<Vec<IpAddr>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn resolve<'life0, 'life1, 'async_trait>(
&'life0 self,
host: &'life1 str,
port: Option<u16>,
dns_server: Option<IpAddr>,
) -> Pin<Box<dyn Future<Output = Result<Vec<IpAddr>, NetworkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Performs DNS resolution for a specific hostname
Auto Trait Implementations§
impl Freeze for LocalWithLoopbackNetworking
impl !RefUnwindSafe for LocalWithLoopbackNetworking
impl Send for LocalWithLoopbackNetworking
impl Sync for LocalWithLoopbackNetworking
impl Unpin for LocalWithLoopbackNetworking
impl !UnwindSafe for LocalWithLoopbackNetworking
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more