-
Notifications
You must be signed in to change notification settings - Fork 952
Expand file tree
/
Copy pathredis_slot.cpp
More file actions
49 lines (40 loc) · 1.08 KB
/
redis_slot.cpp
File metadata and controls
49 lines (40 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "acl_stdafx.hpp"
#ifndef ACL_PREPARE_COMPILE
#include "acl_cpp/redis/redis_slot.hpp"
#endif
#if !defined(ACL_CLIENT_ONLY) && !defined(ACL_REDIS_DISABLE)
namespace acl {
redis_slot::redis_slot(size_t slot_min, size_t slot_max,
const char* ip, int port)
{
slot_min_ = slot_min;
slot_max_ = slot_max;
ACL_SAFE_STRNCPY(ip_, ip, sizeof(ip_));
port_ = port;
}
redis_slot::redis_slot(const redis_slot& node)
{
slot_min_ = node.get_slot_min();
slot_max_ = node.get_slot_max();
ACL_SAFE_STRNCPY(ip_, node.get_ip(), sizeof(ip_));
port_ = node.get_port();
const std::vector<redis_slot*>& slaves = node.get_slaves();
std::vector<redis_slot*>::const_iterator cit;
for (cit = slaves.begin(); cit != slaves.end(); ++cit) {
slaves_.push_back(*cit);
}
}
redis_slot::~redis_slot()
{
std::vector<redis_slot*>::iterator it;
for (it = slaves_.begin(); it != slaves_.end(); ++it) {
delete *it;
}
}
redis_slot& redis_slot::add_slave(redis_slot* node)
{
slaves_.push_back(node);
return *this;
}
} // namespace acl
#endif // ACL_CLIENT_ONLY