Files
scylladb/sstables/sstables_manager_subscription.hh
Avi Kivity 0ae22a09d4 LICENSE: Update to version 1.1
Updated terms of non-commercial use (must be a never-customer).
2026-04-12 19:46:33 +03:00

42 lines
897 B
C++

/*
* Copyright (C) 2025-present ScyllaDB
*
*/
/*
* SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.1
*/
#pragma once
#include <optional>
#include <boost/signals2/dummy_mutex.hpp>
#include <boost/signals2/signal_type.hpp>
#include "sstables/generation_type.hh"
namespace bs2 = boost::signals2;
namespace sstables {
class sstables_manager;
class sstables_manager_event_handler {
std::optional<boost::signals2::scoped_connection> _connection;
public:
void subscribe(boost::signals2::scoped_connection&& c) {
assert(!_connection);
_connection.emplace(std::move(c));
}
void unsubscribe() {
_connection.reset();
}
// Note: other notifications like "added_sstables" may be needed in the future
virtual future<> deleted_sstable(sstables::generation_type) const { return make_ready_future(); }
};
} // namespace sstables