diff --git a/src/listhead.rs b/src/listhead.rs index 58e9d0b..d2e4426 100644 --- a/src/listhead.rs +++ b/src/listhead.rs @@ -1,6 +1,7 @@ use std::rc::{Rc, Weak}; use std::cell::RefCell; +#[derive(Default)] pub struct ListHead { prev: Weak::>>, next: Weak::>>, diff --git a/src/timer.rs b/src/timer.rs index d80c194..b113af6 100644 --- a/src/timer.rs +++ b/src/timer.rs @@ -12,10 +12,12 @@ const TVR_MASK: usize = TVR_SIZE - 1; pub type TimerWp = Weak::>>; +#[derive(Default)] pub struct TimerAttacher { timers: Rc::>>, } +#[derive(Default)] struct TimerList { holder: Rc::>, wp: Rc::>>, @@ -25,7 +27,7 @@ struct TimerList { expire_time: i32, expires: i64, - cb: fn (i32, Option>>), + //cb: fn (i32, Option>>), } pub struct Timer { @@ -73,6 +75,20 @@ impl Timer { } + fn new_timer_list(&mut self) -> Rc::> { + let p = Rc::new(RefCell::new(TimerList{ + holder: Default::default(), + wp: Default::default(), + timer_entry: Default::default(), + attach_entry: Default::default(), + timer_type: 0, + expire_time: 0, + expires: 0, + //cb: Default::default(), + })); + return p; + } + pub fn update(&mut self) { }