@@ -31,64 +31,60 @@ void sentinel::disconnect() {
31
31
32
32
bool sentinel::failover (const string& clustername, connection::reply_cb_t && reply)
33
33
{
34
- return if_connected_do (
35
- [&]() -> bool {
36
- return send ({std::string (" sentinel failover " ) + clustername}, std::move (reply));
37
- }
38
- );
34
+ if (!is_connected ())
35
+ return false ;
36
+
37
+ return send ({std::string (" sentinel failover " ) + clustername}, std::move (reply));
39
38
}
40
39
41
40
bool sentinel::ping (connection::reply_cb_t && reply)
42
41
{
43
- return if_connected_do (
44
- [&]() -> bool {
45
- return send ({" ping" }, std::move (reply));
46
- }
47
- );
42
+ if (!is_connected ())
43
+ return false ;
44
+
45
+ return send ({" ping" }, std::move (reply));
48
46
}
49
47
50
48
bool sentinel::watch_master_change (cb_watch_master_change_t && fn)
51
49
{
52
- return if_connected_do (
53
- [&]()-> bool {
54
- using State = monitor::EventState;
55
-
56
- return stream_.subscribe ({" +switch-master" },
57
- [this , fn = std::move (fn)](const string& channel, parser_t event, State state) -> void
58
- {
59
- switch (state)
60
- {
61
- case State::Stream:
62
- return fn (parse_watch_master_change (event), SentinelState::Watching);
50
+ if (!is_connected ())
51
+ return false ;
63
52
64
- case State::Disconnected:
65
- this ->disconnect ();
66
- return fn ({}, SentinelState::Disconnected);
67
- break ;
53
+ using State = monitor::EventState;
68
54
69
- default :
70
- break ;
71
- }
72
- }
73
- );
55
+ return stream_.subscribe ({" +switch-master" },
56
+ [this , fn{std::move (fn)}](const string& channel, parser_t event, State state) -> void
57
+ {
58
+ switch (state)
59
+ {
60
+ case State::Stream:
61
+ return fn (parse_watch_master_change (event), SentinelState::Watching);
62
+
63
+ case State::Disconnected:
64
+ this ->disconnect ();
65
+ return fn ({}, SentinelState::Disconnected);
66
+ break ;
67
+
68
+ default :
69
+ break ;
70
+ }
74
71
}
75
72
);
76
73
}
77
74
78
75
79
76
bool sentinel::master_addr_by_name (const string& cluster_name, cb_addr_by_name_t && cb)
80
77
{
81
- return if_connected_do (
82
- [&]() -> bool {
83
- return send_master_addr_by_name (cluster_name, std::move (cb));
84
- }
85
- );
78
+ if (!is_connected ())
79
+ return false ;
80
+
81
+ return send_master_addr_by_name (cluster_name, std::move (cb));
86
82
}
87
83
88
84
bool sentinel::send_master_addr_by_name (const string& cluster_name, cb_addr_by_name_t && cb)
89
85
{
90
86
return this ->send ({string (" SENTINEL get-master-addr-by-name " ) + cluster_name + " \r\n " },
91
- [cb = std::move (cb)](parser_t parsed_value)
87
+ [cb{ std::move (cb)} ](parser_t parsed_value)
92
88
{
93
89
using ::async_redis::parser::RespType;
94
90
@@ -122,7 +118,6 @@ bool sentinel::send_master_addr_by_name(const string& cluster_name, cb_addr_by_n
122
118
);
123
119
}
124
120
125
- // static
126
121
std::vector<std::string> sentinel::parse_watch_master_change (const parser_t & event)
127
122
{
128
123
std::vector<string> words;
@@ -135,14 +130,6 @@ std::vector<std::string> sentinel::parse_watch_master_change(const parser_t& eve
135
130
return words;
136
131
}
137
132
138
- bool sentinel::if_connected_do (std::function<bool ()>&& fn)
139
- {
140
- if (!is_connected ())
141
- return false ;
142
-
143
- return fn ();
144
- }
145
-
146
133
void sentinel::connect_all (const string& ip, int port, const connect_cb_t & connector)
147
134
{
148
135
auto cb = std::bind (&sentinel::check_connected, this , connector, std::placeholders::_1);
0 commit comments