108 std::filesystem::path backup;
109 bool published =
false, retain =
false;
111 std::vector<Entry> entries_;
117 void cleanup() noexcept;
void publish()
Replace all validated fresh outputs, rolling back on a rename failure.
Definition CheckpointOutputPublication.cpp:292
CheckpointOutputPublication(std::vector< Output >)
Validate output pairs and reserve rollback headers before publication.
Definition CheckpointOutputPublication.cpp:235
CheckpointOutputPublication & operator=(const CheckpointOutputPublication &)=delete
CheckpointOutputPublication(const CheckpointOutputPublication &)=delete
~CheckpointOutputPublication()
Remove reserved backup headers unless needed for failed rollback recovery.
Definition CheckpointOutputPublication.cpp:280
Definition AtomicOutputFile.hpp:25
FILE * checkpointOpenOutput(const std::filesystem::path &path, bool existing)
Open a writable binary output for checkpoint restoration.
Definition CheckpointOutputPublication.cpp:43
void checkpointReadOutput(int descriptor, uint64_t offset, char *data, std::size_t bytes)
Read an exact output range through a borrowed seekable writer descriptor.
Definition CheckpointOutputPublication.cpp:73
int checkpointFileDescriptor(FILE *stream) noexcept
Obtain a borrowed platform descriptor for a C stream.
Definition CheckpointOutputPublication.cpp:66
Definition CheckpointOutputPublication.hpp:64
std::filesystem::path staging
Definition CheckpointOutputPublication.hpp:65
std::string fresh_header
Definition CheckpointOutputPublication.hpp:66
std::filesystem::path destination
Definition CheckpointOutputPublication.hpp:65
int original_descriptor
Definition CheckpointOutputPublication.hpp:67