Since clang21 is a lot more strict about what is available in what
phase, move things to `rgw_datalog.cc` so the `intrusive_ptr` free
functions are available.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
encode_json("gen", gen, f);
}
+boost::intrusive_ptr<RGWDataChangesBE> DataLogBackends::head() {
+ std::unique_lock l(m);
+ auto i = end();
+ --i;
+ return i->second;
+}
+
void rgw_data_notify_entry::decode_json(JSONObj *obj) {
JSONDecoder::decode_json("key", key, obj);
JSONDecoder::decode_json("gen", gen, obj);
shards), datalog(datalog) {}
public:
- boost::intrusive_ptr<RGWDataChangesBE> head() {
- std::unique_lock l(m);
- auto i = end();
- --i;
- return i->second;
- }
+ boost::intrusive_ptr<RGWDataChangesBE> head();
asio::awaitable<std::tuple<std::span<rgw_data_change_log_entry>,
std::string>>
list(const DoutPrefixProvider *dpp, int shard,