aboutsummaryrefslogtreecommitdiffstats
path: root/src/interface/mod.rs
diff options
context:
space:
mode:
authorJake McGinty <me@jake.su>2018-05-08 23:23:28 -0700
committerJake McGinty <me@jake.su>2018-05-08 23:23:28 -0700
commit1a22671046a79685f72a1e47b082abbf2aa2811a (patch)
tree2996b36f6d092ea45a407fd238451c0c2a274501 /src/interface/mod.rs
parenttests: simulate stale session recovery (dropped keepalive packet) (diff)
downloadwireguard-rs-1a22671046a79685f72a1e47b082abbf2aa2811a.tar.xz
wireguard-rs-1a22671046a79685f72a1e47b082abbf2aa2811a.zip
timers: hold weak references to peer in timer messages
Diffstat (limited to 'src/interface/mod.rs')
-rw-r--r--src/interface/mod.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/interface/mod.rs b/src/interface/mod.rs
index 8d939f6..21984ce 100644
--- a/src/interface/mod.rs
+++ b/src/interface/mod.rs
@@ -9,7 +9,7 @@ use router::Router;
use failure::{Error, err_msg};
use peer::Peer;
use std::io;
-use std::rc::Rc;
+use std::rc::{Rc, Weak};
use std::cell::RefCell;
use std::collections::HashMap;
use types::{InterfaceInfo};
@@ -27,6 +27,7 @@ pub fn trace_packet(header: &str, packet: &[u8]) {
}
pub type SharedPeer = Rc<RefCell<Peer>>;
+pub type WeakSharedPeer = Weak<RefCell<Peer>>;
pub type SharedState = Rc<RefCell<State>>;
#[derive(Default)]