aboutsummaryrefslogtreecommitdiffstats
path: root/src/platform
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/dummy/mod.rs4
-rw-r--r--src/platform/dummy/tun.rs75
-rw-r--r--src/platform/dummy/udp.rs (renamed from src/platform/dummy/bind.rs)23
-rw-r--r--src/platform/linux/tun.rs2
4 files changed, 35 insertions, 69 deletions
diff --git a/src/platform/dummy/mod.rs b/src/platform/dummy/mod.rs
index 884bd7e..2d2e7c6 100644
--- a/src/platform/dummy/mod.rs
+++ b/src/platform/dummy/mod.rs
@@ -1,4 +1,4 @@
-mod bind;
+mod udp;
mod endpoint;
mod tun;
@@ -8,6 +8,6 @@ mod tun;
* the configuration interface and the UAPI parser.
*/
-pub use bind::*;
pub use endpoint::*;
pub use tun::*;
+pub use udp::*;
diff --git a/src/platform/dummy/tun.rs b/src/platform/dummy/tun.rs
index 50c6654..9836b48 100644
--- a/src/platform/dummy/tun.rs
+++ b/src/platform/dummy/tun.rs
@@ -13,38 +13,51 @@ use std::time::Duration;
use super::super::tun::*;
-/* This submodule provides pure/dummy implementations of the IO interfaces
- * for use in unit tests thoughout the project.
- */
-
-/* Error implementation */
-
#[derive(Debug)]
-pub enum BindError {
+pub enum TunError {
Disconnected,
}
-impl Error for BindError {
- fn description(&self) -> &str {
- "Generic Bind Error"
+pub struct TunTest {}
+
+pub struct TunFakeIO {
+ id: u32,
+ store: bool,
+ tx: SyncSender<Vec<u8>>,
+ rx: Receiver<Vec<u8>>,
+}
+
+pub struct TunReader {
+ id: u32,
+ rx: Receiver<Vec<u8>>,
+}
+
+pub struct TunWriter {
+ id: u32,
+ store: bool,
+ tx: Mutex<SyncSender<Vec<u8>>>,
+}
+
+impl fmt::Display for TunFakeIO {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "FakeIO({})", self.id)
}
+}
- fn source(&self) -> Option<&(dyn Error + 'static)> {
- None
+impl fmt::Display for TunReader {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "TunReader({})", self.id)
}
}
-impl fmt::Display for BindError {
+impl fmt::Display for TunWriter {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- match self {
- BindError::Disconnected => write!(f, "PairBind disconnected"),
- }
+ write!(f, "TunWriter({})", self.id)
}
}
-#[derive(Debug)]
-pub enum TunError {
- Disconnected,
+pub struct TunStatus {
+ first: bool,
}
impl Error for TunError {
@@ -63,30 +76,6 @@ impl fmt::Display for TunError {
}
}
-pub struct TunTest {}
-
-pub struct TunFakeIO {
- id: u32,
- store: bool,
- tx: SyncSender<Vec<u8>>,
- rx: Receiver<Vec<u8>>,
-}
-
-pub struct TunReader {
- id: u32,
- rx: Receiver<Vec<u8>>,
-}
-
-pub struct TunWriter {
- id: u32,
- store: bool,
- tx: Mutex<SyncSender<Vec<u8>>>,
-}
-
-pub struct TunStatus {
- first: bool,
-}
-
impl Reader for TunReader {
type Error = TunError;
diff --git a/src/platform/dummy/bind.rs b/src/platform/dummy/udp.rs
index 3146af8..35c905d 100644
--- a/src/platform/dummy/bind.rs
+++ b/src/platform/dummy/udp.rs
@@ -40,29 +40,6 @@ impl fmt::Display for BindError {
}
}
-/* TUN implementation */
-
-#[derive(Debug)]
-pub enum TunError {
- Disconnected,
-}
-
-impl Error for TunError {
- fn description(&self) -> &str {
- "Generic Tun Error"
- }
-
- fn source(&self) -> Option<&(dyn Error + 'static)> {
- None
- }
-}
-
-impl fmt::Display for TunError {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- write!(f, "Not Possible")
- }
-}
-
#[derive(Clone, Copy)]
pub struct VoidBind {}
diff --git a/src/platform/linux/tun.rs b/src/platform/linux/tun.rs
index 3c98c34..9ccda86 100644
--- a/src/platform/linux/tun.rs
+++ b/src/platform/linux/tun.rs
@@ -299,7 +299,7 @@ impl LinuxTunStatus {
Err(LinuxTunError::Closed)
} else {
Ok(LinuxTunStatus {
- events: vec![],
+ events: vec![TunEvent::Up(1500)],
index: get_ifindex(&name),
fd,
name,