23 #include "openPMD/config.hpp"
24 #include "openPMD/IO/Access.hpp"
25 #include "openPMD/IO/Format.hpp"
26 #include "openPMD/IO/IOTask.hpp"
45 : std::runtime_error(what_arg)
54 : std::runtime_error(what_arg)
103 : directory{std::move(path)},
109 : directory{std::move(path)},
128 virtual std::future< void >
flush() = 0;
133 std::string
const directory;
134 Access const m_backendAccess;
135 Access const m_frontendAccess;
136 std::queue< IOTask > m_work;
@ UserFlush
Flush operation that was triggered by user code.
@ InternalFlush
Default mode, used when flushes are triggered internally, e.g.
Interface for communicating between logical and physically persistent data.
Definition: AbstractIOHandler.hpp:98
virtual std::future< void > flush()=0
Process operations in queue according to FIFO.
Public definitions of openPMD-api.
Definition: Date.cpp:29
virtual std::string backendName() const =0
The currently used backend.
Self-contained description of a single IO operation.
Definition: IOTask.hpp:589
@ SkeletonOnly
Restricted mode, ensures to set up the openPMD hierarchy (as far as defined so far) in the backend.
Access
File access mode to use during IO.
Definition: Access.hpp:28
virtual void enqueue(IOTask const &iotask)
Add provided task to queue according to FIFO.
Definition: AbstractIOHandler.hpp:119
Definition: AbstractIOHandler.hpp:50
Definition: AbstractIOHandler.hpp:41
FlushLevel
Determine what items should be flushed upon Series::flush()
Definition: AbstractIOHandler.hpp:63