PeeringState::proc_lease() requires a valid hb_stamps[0], which is in
turned maintained by `pl`.
Signed-off-by: Kefu Chai <kchai@redhat.com>
HeartbeatStampsRef ShardServices::get_hb_stamps(int peer)
{
-#warning writeme
- return HeartbeatStampsRef();
+ auto [stamps, added] = heartbeat_stamps.try_emplace(peer);
+ if (added) {
+ stamps->second = ceph::make_ref<HeartbeatStamps>(peer);
+ }
+ return stamps->second;
}
};
return ceph::mono_clock::now() - startup_time;
}
HeartbeatStampsRef get_hb_stamps(int peer);
+ std::map<int, HeartbeatStampsRef> heartbeat_stamps;
};