* Send a ping to the specified peer.
* @n optional time that we will use instead of calling ceph_clock_now()
*/
- void send_peer_ping(int peer, const utime_t *n=NULL);
+ bool send_peer_ping(int peer, const utime_t *n=NULL);
/**
* Check the state of pinging the specified peer. This is our
* "tick" for heartbeating; scheduled by itself and begin_peer_ping().
* @post @p participating is true
*/
void start_participating();
+ /**
+ * Check if our peer_tracker is self-consistent, not suffering from
+ * https://tracker.ceph.com/issues/58049
+ */
+ bool peer_tracker_is_clean();
/**
* Forget everything about our peers. :(
*/
* This is safe to call even if we haven't joined or are currently
* in a quorum.
*/
- void notify_rank_removed(int rank_removed);
+ void notify_rank_removed(int rank_removed, int new_rank);
void notify_strategy_maybe_changed(int strategy);
/**
* Set the disallowed leaders.