acl  3.5.3.0
redis_slot.hpp
浏览该文件的文档.
1 #pragma once
2 #include "../acl_cpp_define.hpp"
3 #include <vector>
4 
5 #if !defined(ACL_CLIENT_ONLY) && !defined(ACL_REDIS_DISABLE)
6 
7 namespace acl
8 {
9 
11 {
12 public:
13  /**
14  * 构造函数
15  * constructor
16  * @param slot_min {size_t} 最小哈希槽值
17  * the min hash-slot
18  * @param slot_max {size_t} 最大哈希槽值
19  * the max hash-slot
20  * @param ip {const char*} 当前 redis-server 的 IP 地址
21  * the given redis-server's ip
22  * @param port {int} 当前 redis-server 的监听端口
23  * the listening port of the given redis-server
24  *
25  */
26  redis_slot(size_t slot_min, size_t slot_max,
27  const char* ip, int port);
28  redis_slot(const redis_slot& node);
29 
30  ~redis_slot(void);
31 
32  /**
33  * 将一个 redis 哈希槽从结点添加至当前结点中
34  * add a slave slot node to the current node
35  * @param node {redis_slot*} 一个存储哈希槽的从结点
36  * the slave slot node
37  */
38  redis_slot& add_slave(redis_slot* node);
39 
40  /**
41  * 获得当前哈希槽结点的所有从结点
42  * get the slave nodes of the current node
43  * @return {const std::vector<redis_slot*>&}
44  */
45  const std::vector<redis_slot*>& get_slaves() const
46  {
47  return slaves_;
48  }
49 
50  /**
51  * 获得当前结点的 IP 地址
52  * get the ip of the current node
53  * @return {const char*}
54  */
55  const char* get_ip(void) const
56  {
57  return ip_;
58  }
59 
60  /**
61  * 获得当前结点的端口号
62  * get the port of the current node
63  * @return {int}
64  */
65  int get_port(void) const
66  {
67  return port_;
68  }
69 
70  /**
71  * 获得当前哈希槽结点的最小值
72  * get the min hash slot of the current node
73  * @return {size_t}
74  */
75  size_t get_slot_min(void) const
76  {
77  return slot_min_;
78  }
79 
80  /**
81  * 获得当前哈希槽结点的最大值
82  * get the max hash slot of the current node
83  * @return {size_t}
84  */
85  size_t get_slot_max(void) const
86  {
87  return slot_max_;
88  }
89 
90 private:
91  size_t slot_min_;
92  size_t slot_max_;
93  char ip_[128];
94  int port_;
95 
96  std::vector<redis_slot*> slaves_;
97 };
98 
99 } // namespace acl
100 
101 #endif // !defined(ACL_CLIENT_ONLY) && !defined(ACL_REDIS_DISABLE)
const char * get_ip(void) const
Definition: redis_slot.hpp:55
const std::vector< redis_slot * > & get_slaves() const
Definition: redis_slot.hpp:45
size_t get_slot_max(void) const
Definition: redis_slot.hpp:85
#define ACL_CPP_API
int get_port(void) const
Definition: redis_slot.hpp:65
size_t get_slot_min(void) const
Definition: redis_slot.hpp:75