aboutsummaryrefslogtreecommitdiffstats
path: root/src/platform
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/bind.rs6
-rw-r--r--src/platform/dummy/bind.rs10
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
}
}