10 #include <string_view>
12 #include <rapidsmpf/bootstrap/backend.hpp>
13 #include <rapidsmpf/bootstrap/bootstrap.hpp>
48 void put(std::string
const& key, std::string_view value)
override;
53 std::string
get(std::string
const& key,
Duration timeout)
override;
67 std::string coord_dir_;
69 std::string barrier_dir_;
70 std::size_t barrier_count_{0};
77 [[nodiscard]] std::string get_kv_path(std::string
const& key)
const;
84 [[nodiscard]] std::string get_barrier_path(std::size_t barrier_id)
const;
91 [[nodiscard]] std::string get_rank_alive_path(
Rank rank)
const;
101 std::string
const& path,
Duration timeout = std::chrono::seconds{30}
110 void write_file(std::string
const& path, std::string_view content);
117 std::string read_file(std::string
const& path);
126 void cleanup_coordination_directory();
Abstract interface for bootstrap coordination backends.
File-based coordination backend implementation.
FileBackend(Context ctx)
Construct a file backend.
void barrier() override
Perform a barrier synchronization.
void put(std::string const &key, std::string_view value) override
Store a key-value pair (rank 0 only).
void sync() override
Ensure all previous put() operations are globally visible.
std::string get(std::string const &key, Duration timeout) override
Retrieve a value, blocking until available or timeout occurs.
std::int32_t Rank
Type alias for communicator::Rank.
std::chrono::duration< double > Duration
Type alias for Duration type.
Context information for the current process/rank.