From b3b93c650eea2a9564acd680f647ba19cd6c6a66 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 9 Oct 2023 21:10:25 +0800 Subject: [PATCH] 1 --- src/lib.rs | 5 -- src/metamgr.rs | 174 ------------------------------------------------- src/timer.rs | 8 +++ src/xvalue.rs | 35 ---------- 4 files changed, 8 insertions(+), 214 deletions(-) delete mode 100644 src/metamgr.rs delete mode 100644 src/xvalue.rs diff --git a/src/lib.rs b/src/lib.rs index b75f0ad..3309fd5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,13 +7,8 @@ mod tests { } } -mod xvalue; -mod metamgr; mod timer; mod listhead; -pub use xvalue::XValue; -pub use metamgr::MetaMgr; -pub use metamgr::ProtoMsg; pub use timer::Timer; pub use listhead::ListHead; diff --git a/src/metamgr.rs b/src/metamgr.rs deleted file mode 100644 index a4cce3c..0000000 --- a/src/metamgr.rs +++ /dev/null @@ -1,174 +0,0 @@ -use std::rc::Rc; -//use std::fs::File; -use std::collections::HashMap; - -pub trait ProtoMsg { - fn deserialize(&self, - obj: &serde_json::Map, - id_key: &mut i64, - name_key: &mut String) {} - fn init1(&self) {} - fn init2(&self) {} - fn init3(&self) {} -} - -struct MetaClass { - file_name: String, - idx: i32, - prim_key: String, - sec_key: String, - dummy: T, - wrap_list: Vec>, - wrap_id_hash: HashMap>, - wrap_name_hash: HashMap> -} - -impl MetaClass { - - fn deserialize_json(&mut self, idx: i64, obj: &serde_json::Map) { - let msg = Rc::new(self.dummy.clone()); - let id_key = &mut 0; - let name_key = &mut String::new(); - msg.deserialize(&obj, id_key, name_key); - self.wrap_list.push(msg.clone()); - if self.prim_key.is_empty() { - self.wrap_id_hash.insert(idx, msg.clone()); - } else { - if *id_key != 0 { - self.wrap_id_hash.insert(*id_key, msg.clone()); - } - } - if !name_key.is_empty() { - self.wrap_name_hash.insert(name_key.to_string(), msg.clone()); - } - } - -} - -fn test1(mgr: &MetaMgr, meta: &MetaClass) { - -} - -fn test2(mgr: &MetaMgr) { - -} - -pub struct MetaMgr { - meta_classes: Vec>, -} - -impl MetaMgr { - - pub fn new() -> Self { - return MetaMgr::{ - meta_classes: Vec::new() - }; - } - - pub fn init(&mut self) { - - } - - pub fn un_init(&mut self) { - - } - - pub fn register_meta(&mut self, file_name: String, idx: i32, prim_key: String, sec_key: String, dummy: T) { - let meta = MetaClass:: { - file_name: file_name, - idx: 100, - prim_key: prim_key, - sec_key: sec_key, - dummy: dummy, - wrap_list: Vec::new(), - wrap_id_hash: HashMap::new(), - wrap_name_hash: HashMap::new() - }; - self.meta_classes.push(meta); - } - - fn test(&self, meta: &mut MetaClass::) { - } - - pub fn load(&mut self) { - /* - for i in 0..self.meta_classes.len() { - let meta = &self.meta_classes[i]; - match File::open(&meta.file_name) { - Ok(f) => { - match serde_json::from_reader(f) { - Ok(data) => { - match (data) { - serde_json::Value::Array(arr) =>{ - let mut idx = 0; - for item in arr { - if let serde_json::Value::Object(obj) = item { - //meta.deserialize_json(idx, &obj); - idx = idx + 1; - } - } - }, - serde_json::Value::Object(obj) =>{ - //meta.deserialize_json(0, &obj); - }, - _ => { - - } - } - } - Err(e) => { - - } - } - } - Err(e) => { - - } - } - }*/ - } - - pub fn get_metalist(&mut self, idx: i32) -> Option<&Vec::>> { - if idx >= 0 && idx as usize <= self.meta_classes.len() { - return Some(&self.meta_classes[idx as usize].wrap_list); - } - return None; - } - - pub fn get_byid(&mut self, idx: i32, id: i64) -> Option<&Rc> { - return self.internal_get_byid(idx as usize, id); - } - - pub fn get_byname(&mut self, idx: i32, name: String) -> Option<&Rc> { - return self.internal_get_byname(idx as usize, name); - } - - pub fn internal_get_byid(&mut self, idx: usize, id: i64) -> Option<&Rc> { - if idx < self.meta_classes.len() { - match self.meta_classes[idx].wrap_id_hash.get(&id) { - Some(v) => { - return Some(v); - } - None => { - - } - } - } - return None; - } - - pub fn internal_get_byname(&mut self, idx: usize, name: String) -> Option<&Rc> { - if idx < self.meta_classes.len() { - match self.meta_classes[idx].wrap_name_hash.get(&name) { - Some(v) => { - return Some(v); - } - None => { - - } - } - } - return None; - } - -} diff --git a/src/timer.rs b/src/timer.rs index 0972f87..da09b94 100644 --- a/src/timer.rs +++ b/src/timer.rs @@ -130,6 +130,14 @@ impl Timer { t.borrow_mut().timer_type = timer_type; t.borrow_mut().expire_time = expire_time; t.borrow_mut().expires = (self.get_tick_count)() + expire_time as i64; + match attacher { + Some(v) => { + + } + None => { + + } + } return Rc::downgrade(&t.borrow().wp); } diff --git a/src/xvalue.rs b/src/xvalue.rs deleted file mode 100644 index 51bacea..0000000 --- a/src/xvalue.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub enum XValue { - _IntVal(i64), - _UserData(T) -} - - -impl XValue { - - pub fn new() -> Self { - return XValue::::_IntVal(0); - } - - pub fn get_i64(&self) -> i64 { - match self { - XValue::_IntVal(v) => { - return *v; - }, - XValue::_UserData(_v) => { - return 0; - } - } - } - - pub fn set_i64(&mut self, val: i64) { - match self { - XValue::_IntVal(v) => { - *v = val; - }, - XValue::_UserData(_v) => { - *self = XValue::::_IntVal(0); - } - } - } - -}