1
This commit is contained in:
parent
c1491eb18c
commit
389f5a06ce
36
src/timer.rs
36
src/timer.rs
@ -75,25 +75,21 @@ impl Timer {
|
||||
get_tick_count: fn () -> i64,
|
||||
gctime: i32,
|
||||
cache_timer_num: i32) {
|
||||
let init_timer_list = |tv: &mut [TimerListListHeadRp]| {
|
||||
for i in 0..tv.len() {
|
||||
tv[i] = crate::ListHead::<TimerList>::new_head();
|
||||
}
|
||||
};
|
||||
|
||||
self.get_tick_count = get_tick_count;
|
||||
self.cache_timer_num = cache_timer_num;
|
||||
self.free_timer_num = 0;
|
||||
self.work_list = crate::ListHead::<TimerList>::new_head();
|
||||
for i in 0..self.tv1.len() {
|
||||
self.tv1[i] = crate::ListHead::<TimerList>::new_head();
|
||||
}
|
||||
for i in 0..self.tv2.len() {
|
||||
self.tv2[i] = crate::ListHead::<TimerList>::new_head();
|
||||
}
|
||||
for i in 0..self.tv3.len() {
|
||||
self.tv3[i] = crate::ListHead::<TimerList>::new_head();
|
||||
}
|
||||
for i in 0..self.tv4.len() {
|
||||
self.tv4[i] = crate::ListHead::<TimerList>::new_head();
|
||||
}
|
||||
for i in 0..self.tv5.len() {
|
||||
self.tv5[i] = crate::ListHead::<TimerList>::new_head();
|
||||
}
|
||||
init_timer_list(&mut self.tv1);
|
||||
init_timer_list(&mut self.tv2);
|
||||
init_timer_list(&mut self.tv3);
|
||||
init_timer_list(&mut self.tv4);
|
||||
init_timer_list(&mut self.tv5);
|
||||
self.timer_tick = (self.get_tick_count)();
|
||||
let self_wp = self.shared_from_self();
|
||||
let cb = Box::new(
|
||||
@ -306,7 +302,8 @@ impl Timer {
|
||||
}
|
||||
|
||||
pub fn get_idle_time(&self) -> i64 {
|
||||
return 0;
|
||||
let mut idle_time = 0;
|
||||
return idle_time;
|
||||
}
|
||||
|
||||
fn gc_timer(&mut self, e: TimerEvent, _args: Option<Vec<Rc::<dyn Any>>>) {
|
||||
@ -314,13 +311,10 @@ impl Timer {
|
||||
TimerEvent::Exec => {
|
||||
while self.free_timer_num > self.cache_timer_num &&
|
||||
!self.free_timer_list.borrow().empty() {
|
||||
let timer = &self.free_timer_list.borrow().first_entry();
|
||||
timer.upgrade().unwrap().borrow_mut().timer_entry.borrow_mut().del_init();
|
||||
let timer = &self.free_timer_list.borrow().first_entry().upgrade().unwrap();
|
||||
timer.borrow_mut().timer_entry.borrow_mut().del_init();
|
||||
self.free_timer_num -= 1;
|
||||
}
|
||||
}
|
||||
TimerEvent::Custom(_v) => {
|
||||
|
||||
}
|
||||
_ => {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user