pub struct LocalNetworking {}
Trait Implementations§
source§impl Debug for LocalNetworking
impl Debug for LocalNetworking
source§impl Default for LocalNetworking
impl Default for LocalNetworking
source§fn default() -> LocalNetworking
fn default() -> LocalNetworking
Returns the “default value” for a type. Read more
source§impl VirtualNetworking for LocalNetworking
impl VirtualNetworking for LocalNetworking
source§fn ws_connect(&self, url: &str) -> Result<Box<dyn VirtualWebSocket + Sync>>
fn ws_connect(&self, url: &str) -> Result<Box<dyn VirtualWebSocket + Sync>>
Establishes a web socket connection
(note: this does not use the virtual sockets and is standalone
functionality that works without the network being connected)
source§fn http_request(
&self,
url: &str,
method: &str,
headers: &str,
gzip: bool
) -> Result<SocketHttpRequest>
fn http_request(
&self,
url: &str,
method: &str,
headers: &str,
gzip: bool
) -> Result<SocketHttpRequest>
Makes a HTTP request to a remote web resource
The headers are separated by line breaks
(note: this does not use the virtual sockets and is standalone
functionality that works without the network being connected)
source§fn bridge(
&self,
network: &str,
access_token: &str,
security: StreamSecurity
) -> Result<()>
fn bridge(
&self,
network: &str,
access_token: &str,
security: StreamSecurity
) -> Result<()>
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(&self) -> Result<()>
fn unbridge(&self) -> Result<()>
Disconnects from the remote network essentially unbridging it
source§fn dhcp_acquire(&self) -> Result<Vec<IpAddr>>
fn dhcp_acquire(&self) -> Result<Vec<IpAddr>>
Acquires an IP address on the network and configures the routing tables
source§fn ip_add(&self, ip: IpAddr, prefix: u8) -> Result<()>
fn ip_add(&self, ip: IpAddr, prefix: u8) -> Result<()>
Adds a static IP address to the interface with a netmask prefix
source§fn ip_remove(&self, ip: IpAddr) -> Result<()>
fn ip_remove(&self, ip: IpAddr) -> Result<()>
Removes a static (or dynamic) IP address from the interface
source§fn ip_list(&self) -> Result<Vec<IpCidr>>
fn ip_list(&self) -> Result<Vec<IpCidr>>
Lists all the IP addresses currently assigned to this interface
source§fn route_add(
&self,
cidr: IpCidr,
via_router: IpAddr,
preferred_until: Option<Duration>,
expires_at: Option<Duration>
) -> Result<()>
fn route_add(
&self,
cidr: IpCidr,
via_router: IpAddr,
preferred_until: Option<Duration>,
expires_at: Option<Duration>
) -> Result<()>
Adds a specific route to the routing table
source§fn route_remove(&self, cidr: IpAddr) -> Result<()>
fn route_remove(&self, cidr: IpAddr) -> Result<()>
Removes a routing rule from the routing table
source§fn route_clear(&self) -> Result<()>
fn route_clear(&self) -> Result<()>
Clears the routing table for this interface
source§fn route_list(&self) -> Result<Vec<IpRoute>>
fn route_list(&self) -> Result<Vec<IpRoute>>
Lists all the routes defined in the routing table for this interface
source§fn bind_raw(&self) -> Result<Box<dyn VirtualRawSocket + Sync>>
fn bind_raw(&self) -> Result<Box<dyn VirtualRawSocket + Sync>>
Creates a low level socket that can read and write Ethernet packets
directly to the interface
source§fn listen_tcp(
&self,
addr: SocketAddr,
only_v6: bool,
reuse_port: bool,
reuse_addr: bool
) -> Result<Box<dyn VirtualTcpListener + Sync>>
fn listen_tcp(
&self,
addr: SocketAddr,
only_v6: bool,
reuse_port: bool,
reuse_addr: bool
) -> Result<Box<dyn VirtualTcpListener + Sync>>
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 bind_udp(
&self,
addr: SocketAddr,
_reuse_port: bool,
_reuse_addr: bool
) -> Result<Box<dyn VirtualUdpSocket + Sync>>
fn bind_udp(
&self,
addr: SocketAddr,
_reuse_port: bool,
_reuse_addr: bool
) -> Result<Box<dyn VirtualUdpSocket + Sync>>
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(&self, addr: IpAddr) -> Result<Box<dyn VirtualIcmpSocket + Sync>>
fn bind_icmp(&self, addr: IpAddr) -> Result<Box<dyn VirtualIcmpSocket + Sync>>
Creates a socket that can be used to send and receive ICMP packets
from a paritcular IP address
source§fn connect_tcp(
&self,
_addr: SocketAddr,
peer: SocketAddr,
timeout: Option<Duration>
) -> Result<Box<dyn VirtualTcpSocket + Sync>>
fn connect_tcp(
&self,
_addr: SocketAddr,
peer: SocketAddr,
timeout: Option<Duration>
) -> Result<Box<dyn VirtualTcpSocket + Sync>>
Opens a TCP connection to a particular destination IP address and port