119
sub _send_command_retry {
128
$res = $self->_send_command($cmd, @params);
129
if ($res) { return $res; }
131
if ($retries >= 0) { DEBUG "Retrying to send command"; }
132
} while ($retries >= 0);
119
136
sub cmd_ping($) {
120
137
my $self = shift;
121
return $self->_send_command('PING');
138
my $retries = shift || 0;
139
return $self->_send_command_retry($retries, 'PING');
124
142
sub cmd_set_status($$) {
125
143
my $self = shift;
126
144
my $master = shift;
145
my $retries = shift || 0;
128
return $self->_send_command('SET_STATUS', $self->state, join(',', sort(@{$self->roles})), $master);
147
return $self->_send_command_retry($retries, 'SET_STATUS', $self->state, join(',', sort(@{$self->roles})), $master);
131
150
sub cmd_get_agent_status($) {
132
151
my $self = shift;
133
return $self->_send_command('GET_AGENT_STATUS');
152
my $retries = shift || 0;
153
return $self->_send_command_retry($retries, 'GET_AGENT_STATUS');
136
156
sub cmd_get_system_status($) {
137
157
my $self = shift;
138
return $self->_send_command('GET_SYSTEM_STATUS');
158
my $retries = shift || 0;
159
return $self->_send_command_retry($retries, 'GET_SYSTEM_STATUS');
141
162
sub cmd_clear_bad_roles($) {
142
163
my $self = shift;
143
return $self->_send_command('CLEAR_BAD_ROLES');
164
my $retries = shift || 0;
165
return $self->_send_command_retry($retries, 'CLEAR_BAD_ROLES');