diff options
Diffstat (limited to '')
-rw-r--r-- | src/platform/bind.rs | 6 | ||||
-rw-r--r-- | src/platform/dummy/bind.rs | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/platform/bind.rs b/src/platform/bind.rs index f22a5d7..1a234c7 100644 --- a/src/platform/bind.rs +++ b/src/platform/bind.rs @@ -28,7 +28,11 @@ pub trait Bind: Send + Sync + 'static { pub trait Owner: Send { type Error: Error; - fn set_fwmark(&self, value: Option<u32>) -> Option<Self::Error>; + fn get_port(&self) -> u16; + + fn get_fwmark(&self) -> Option<u32>; + + fn set_fwmark(&mut self, value: Option<u32>) -> Option<Self::Error>; } /// On some platforms the application can itself bind to a socket. diff --git a/src/platform/dummy/bind.rs b/src/platform/dummy/bind.rs index 3497656..2c30486 100644 --- a/src/platform/dummy/bind.rs +++ b/src/platform/dummy/bind.rs @@ -203,7 +203,15 @@ impl Bind for PairBind { impl Owner for VoidOwner { type Error = BindError; - fn set_fwmark(&self, _value: Option<u32>) -> Option<Self::Error> { + fn set_fwmark(&mut self, _value: Option<u32>) -> Option<Self::Error> { + None + } + + fn get_port(&self) -> u16 { + 0 + } + + fn get_fwmark(&self) -> Option<u32> { None } } |