Struct virtual_net::loopback::LoopbackNetworking
source · pub struct LoopbackNetworking { /* private fields */ }
Implementations§
source§impl LoopbackNetworking
impl LoopbackNetworking
pub fn new() -> Self
pub fn loopback_connect_to( &self, local_addr: SocketAddr, peer_addr: SocketAddr, ) -> Option<TcpSocketHalf>
Trait Implementations§
source§impl Clone for LoopbackNetworking
impl Clone for LoopbackNetworking
source§fn clone(&self) -> LoopbackNetworking
fn clone(&self) -> LoopbackNetworking
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for LoopbackNetworking
impl Debug for LoopbackNetworking
source§impl Default for LoopbackNetworking
impl Default for LoopbackNetworking
source§impl VirtualNetworking for LoopbackNetworking
impl VirtualNetworking for LoopbackNetworking
source§fn dhcp_acquire<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<IpAddr>>> + 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>>> + 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<()>> + 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<()>> + 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<()>> + 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<()>> + 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<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ip_clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + 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>>> + 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>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists all the IP addresses currently assigned to this 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>>> + 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>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists 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 bridge<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
network: &'life1 str,
access_token: &'life2 str,
security: StreamSecurity,
) -> Pin<Box<dyn Future<Output = Result<()>> + 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<()>> + 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<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn unbridge<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Disconnects from the remote network essentially unbridging it
source§fn mac<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<[u8; 6]>> + 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]>> + 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<()>> + 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<()>> + 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<()>> + 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<()>> + 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<()>> + 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<()>> + 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<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn route_clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + 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>>> + 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>>> + 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>>> + 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>>> + 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 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>>> + 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>>> + 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>>> + 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>>> + 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>>> + 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>>> + 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>>> + 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>>> + 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 LoopbackNetworking
impl RefUnwindSafe for LoopbackNetworking
impl Send for LoopbackNetworking
impl Sync for LoopbackNetworking
impl Unpin for LoopbackNetworking
impl UnwindSafe for LoopbackNetworking
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)