1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//! # Virtual Network
//!
//! ## Networking abstraction layer
//!
//! Support for mocking and virtualizing network connections, as well as passing through to supported
//! networking functionality.
//!
//! The following structs are available that allow connecting to a centralized virtual
//! router to emulate a large scale network.
//!
//! * RouterClient
//! * RouterServer
//! * Machine
//!
//! Additional traits are is implemented for all shimmed APIs that have static methods
//! like `new()`, `default()`, `connect()` and `bind()` to allow optional namespacing
//! such that the structs they produce are new network router clients with their own
//! distinct IP addresses, network segments, and network characteristics as allocated
//! by the [RouterServer].
//!
//! A singleton RouterClient can be registered with this module that is used by default unless the
//! `*_with_machine` API are used to override it with another Machine instance.
//!
//! ## Available APIs
//!
//! [VirtualTcpStream]
//! [VirtualUdpSocket]
//! [VirtualTcpListener]
//! [VirtualTcpListenerStream]
//! [VirtualGateway]
//! [VirtualWsMeta]
//! [VirtualWsStream]
//!
//! Traits are implemented for [futures_util::AsyncRead] and [futures_util::AsyncWrite]
//! Conversion traits are available for use with Tokio
//!
//! ## Other modules leveraging this module
//!
//! * `veilid-core`'s network `native` and `wasm` modules
//! * This crate's `network_interfaces` module
//! * This crate's `dns_lookup` module
use *;
use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;