From e6c406879696a53d40f175d11d14a55d9480a57e Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Tue, 4 Feb 2020 22:43:44 +0100 Subject: More peer options in config. endpoint and keepalive --- src/proto.rs | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'src/proto.rs') diff --git a/src/proto.rs b/src/proto.rs index 9f9ea0a..5f168a9 100644 --- a/src/proto.rs +++ b/src/proto.rs @@ -11,6 +11,7 @@ pub struct Peer { pub public_key: Key, pub ipv4: Vec, pub ipv6: Vec, + pub keepalive: u32, } #[serde(from = "ServerRepr", into = "ServerRepr")] @@ -18,7 +19,6 @@ pub struct Peer { pub struct Server { pub peer: Peer, pub endpoint: Endpoint, - pub keepalive: u32, } #[derive(serde_derive::Serialize, serde_derive::Deserialize)] @@ -29,23 +29,20 @@ struct ServerRepr { ipv4: Vec, #[serde(default)] ipv6: Vec, - endpoint: Endpoint, #[serde(default)] keepalive: u32, + endpoint: Endpoint, } impl From for ServerRepr { #[inline] fn from(v: Server) -> Self { - let Server { - peer, - endpoint, - keepalive, - } = v; + let Server { peer, endpoint } = v; let Peer { public_key, ipv4, ipv6, + keepalive, } = peer; Self { public_key, @@ -64,17 +61,17 @@ impl From for Server { public_key, ipv4, ipv6, - endpoint, keepalive, + endpoint, } = v; Self { peer: Peer { public_key, ipv4, ipv6, + keepalive, }, endpoint, - keepalive, } } } @@ -94,7 +91,9 @@ pub struct RoadWarriorRepr { ipv4: Vec, #[serde(default)] ipv6: Vec, - pub base: Key, + #[serde(default)] + keepalive: u32, + base: Key, } impl From for RoadWarriorRepr { @@ -105,11 +104,13 @@ impl From for RoadWarriorRepr { public_key, ipv4, ipv6, + keepalive, } = peer; Self { public_key, ipv4, ipv6, + keepalive, base, } } @@ -122,6 +123,7 @@ impl From for RoadWarrior { public_key, ipv4, ipv6, + keepalive, base, } = v; Self { @@ -129,6 +131,7 @@ impl From for RoadWarrior { public_key, ipv4, ipv6, + keepalive, }, base, } -- cgit