assert(whoami != _peer);
auto [iter, added] = peers.try_emplace(_peer, *this, _peer);
auto& peer = iter->second;
- peer.set_epoch(epoch);
+ peer.set_epoch_added(epoch);
}
Heartbeat::osds_t Heartbeat::remove_down_peers()
if (!osdmap->is_up(osd)) {
i = peers.erase(i);
} else {
- if (peer.get_epoch() < osdmap->get_epoch()) {
+ if (peer.get_epoch_added() < osdmap->get_epoch()) {
old_osds.push_back(osd);
}
++i;
public:
Session(osd_id_t peer) : peer{peer} {}
- void set_epoch(epoch_t epoch_) { epoch = epoch_; }
- epoch_t get_epoch() const { return epoch; }
+ void set_epoch_added(epoch_t epoch_) { epoch = epoch_; }
+ epoch_t get_epoch_added() const { return epoch; }
bool is_started() const { return connected; }
bool pinged() const {
if (clock::is_zero(first_tx)) {
Peer& operator=(Peer&&) = delete;
Peer& operator=(const Peer&) = delete;
- void set_epoch(epoch_t epoch) { session.set_epoch(epoch); }
- epoch_t get_epoch() const { return session.get_epoch(); }
+ // set/get the epoch at which the peer was added
+ void set_epoch_added(epoch_t epoch) { session.set_epoch_added(epoch); }
+ epoch_t get_epoch_added() const { return session.get_epoch_added(); }
// if failure, return time_point since last active
// else, return clock::zero()