readable_until_ub_from_primary = l.readable_until_ub;
}
+ std::optional<ceph::signedspan> peer_clock_delta_lb, peer_clock_delta_ub;
+ hb_stamps[0]->get_peer_clock_delta(&peer_clock_delta_lb, &peer_clock_delta_ub);
+
ceph::signedspan ru = ceph::signedspan::zero();
if (l.readable_until != ceph::signedspan::zero() &&
- hb_stamps[0]->peer_clock_delta_ub) {
- ru = l.readable_until - *hb_stamps[0]->peer_clock_delta_ub;
- psdout(20) << " peer_clock_delta_ub " << *hb_stamps[0]->peer_clock_delta_ub
+ peer_clock_delta_ub) {
+ ru = l.readable_until - *peer_clock_delta_ub;
+ psdout(20) << " peer_clock_delta_ub " << *peer_clock_delta_ub
<< " -> ru " << ru << dendl;
}
if (ru > readable_until) {
}
ceph::signedspan ruub;
- if (hb_stamps[0]->peer_clock_delta_lb) {
- ruub = l.readable_until_ub - *hb_stamps[0]->peer_clock_delta_lb;
- psdout(20) << " peer_clock_delta_lb " << *hb_stamps[0]->peer_clock_delta_lb
+ if (peer_clock_delta_lb) {
+ ruub = l.readable_until_ub - *peer_clock_delta_lb;
+ psdout(20) << " peer_clock_delta_lb " << *peer_clock_delta_lb
<< " -> ruub " << ruub << dendl;
} else {
ruub = pl->get_mnow() + l.interval;
peer_clock_delta_ub = delta_ub;
}
+ void get_peer_clock_delta(
+ std::optional<ceph::signedspan> *out_lb,
+ std::optional<ceph::signedspan> *out_ub) const {
+ std::lock_guard l(lock);
+ *out_lb = peer_clock_delta_lb;
+ *out_ub = peer_clock_delta_ub;
+ }
+
private:
FRIEND_MAKE_REF(HeartbeatStamps);
HeartbeatStamps(int o)