summaryrefslogtreecommitdiffstats
path: root/src/wireguard/mod.rs
blob: c3e9c582db0912344171f24f8d09aca3aa128bd1 (plain) (blame)
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
mod constants;
mod timers;
mod wireguard;

mod handshake;
mod router;
mod types;

#[cfg(test)]
mod tests;

/// The WireGuard sub-module contains a pure, configurable implementation of WireGuard.
/// The implementation is generic over:
///
/// - TUN type, specifying how packets are received on the interface side: a reader/writer and MTU reporting interface.
/// - Bind type, specifying how WireGuard messages are sent/received from the internet and what constitutes an "endpoint"
pub use wireguard::{Peer, Wireguard};

#[cfg(test)]
pub use types::dummy_keypair;

#[cfg(test)]
use super::platform::dummy;

use super::platform::{bind, tun, Endpoint};
use types::{Key, KeyPair};