zdb_bind/
table.rs

1pub struct Ops{
2    pub op:String
3}
4pub enum Type{
5    String,
6    Int,
7    Float,
8    Vec,
9    Other
10}
11impl Ops{
12    pub fn new() ->Ops{
13        Self{
14            op: "".to_string()
15        }
16    }
17    pub fn show_all(&mut self) {
18       return self.op.push_str("show all")
19    }
20
21    pub fn show_pool(&mut self,pool:String) {
22        return self.op.push_str(format!("show {}",pool).as_str())
23    }
24
25    pub fn show_pool_key(&mut self,pool:String,key:String){
26        return self.op.push_str(format!("show {} {}",pool,key).as_str())
27    }
28
29    pub fn add_pool(&mut self,pool:String){
30        return self.op.push_str(format!("add pool {}",pool).as_str())
31    }
32
33    pub fn add_key(&mut self,pool:String,key:String,ty:Type,value:String){
34        return self.op.push_str(format!("add {} {} {} {}",pool,key,ty.go_string(),value).as_str())
35    }
36    pub fn del_pool(&mut self,pool:String){
37        return self.op.push_str(format!("del pool {}",pool).as_str());
38    }
39     pub fn del_key(&mut self,pool:String,key:String){
40         return self.op.push_str(format!("del {} {}",pool,key).as_str())
41     }
42
43    pub fn del_pool_all(&mut self,pool:String){
44        self.op.push_str(format!("del {} all",pool).as_str())
45    }
46
47    pub fn clear(&mut self){
48        self.op.clear();
49    }
50
51    pub fn go_byte(&self) ->Vec<u8>{
52        let mut xs = self.op.as_bytes().to_vec();
53        xs.push(230);
54        xs
55    }
56
57
58}
59
60impl Type {
61    pub fn go_string(&self) -> String {
62        match  self{
63            Type::String => {"string".to_string()}
64            Type::Int => {"int".to_string()}
65            Type::Float => {"float".to_string()}
66            Type::Vec => {"vec".to_string()}
67            Type::Other => {"other".to_string()}
68        }
69    }
70}