Skip to content

EntropyEngine::Core::IO::FileOperationHandle::OpState

EntropyEngine::Core::IO::FileOperationHandle::OpState

Section titled “EntropyEngine::Core::IO::FileOperationHandle::OpState”

Shared state for file operations. More…

#include <FileOperationHandle.h>

Name
voidsetError(FileError code, const std::string & msg, const std::string & path ="", std::optional< std::error_code > ec =std::nullopt)
voidcomplete(FileOpStatus final)
Name
uint64_twrote
std::stringtext
std::atomic< FileOpStatus >st
std::function< void()>progress
std::vector< FileMetadata >metadataBatch
std::optional< FileMetadata >metadata
std::atomic< bool >isComplete
FileErrorInfoerror
std::vector< DirectoryEntry >directoryEntries
std::mutexcompletionMutex
std::condition_variablecompletionCV
std::vector< uint8_t >bytes
struct EntropyEngine::Core::IO::FileOperationHandle::OpState;

Shared state for file operations.

Third-party backends can create and populate OpState, then construct a FileOperationHandle using the same pattern as LocalFileSystemBackend:

auto state = FileOperationHandle::makeState();
// Populate state
state->bytes = fetchData();
state->complete(FileOpStatus::Complete);
return FileOperationHandle(state);
inline void setError(
FileError code,
const std::string & msg,
const std::string & path ="",
std::optional< std::error_code > ec =std::nullopt
)
inline void complete(
FileOpStatus final
)
uint64_t wrote = 0;
std::string text;
std::atomic< FileOpStatus > st {FileOpStatus::Pending};
std::function< void()> progress;
std::vector< FileMetadata > metadataBatch;
std::optional< FileMetadata > metadata;
std::atomic< bool > isComplete {false};
FileErrorInfo error;
std::vector< DirectoryEntry > directoryEntries;
std::mutex completionMutex;
std::condition_variable completionCV;
std::vector< uint8_t > bytes;

Updated on 2026-01-26 at 17:14:35 -0500