38#include <casacore/casa/IO/AipsIO.h>
39#include <casacore/tables/DataMan/DataManager.h>
40#include <casacore/tables/Tables/Table.h>
56 std::map<std::string, std::string> engineParams = {},
57 std::vector<std::map<std::string, std::string>> transportParams = {},
58 std::vector<std::map<std::string, std::string>> operatorParams = {});
63 Adios2StMan(std::string engineType = {}, std::map<std::string, std::string> engineParams = {},
64 std::vector<std::map<std::string, std::string>> transportParams = {},
65 std::vector<std::map<std::string, std::string>> operatorParams = {});
80 const String &aDataTypeID);
82 const String &aDataTypeID);
84 const String &aDataTypeID);
97 std::map<std::string, std::string> engineParams,
98 std::vector<std::map<std::string, std::string>> transportParams,
99 std::vector<std::map<std::string, std::string>> operatorParams,
100 std::string configFile);
103 Adios2StMan(std::string engineType, std::map<std::string, std::string> engineParams,
104 std::vector<std::map<std::string, std::string>> transportParams,
105 std::vector<std::map<std::string, std::string>> operatorParams,
106 std::string configFile);
virtual Bool flush(AipsIO &, Bool doFsync)
Flush and optionally fsync the data.
friend class Adios2StManColumn
std::unique_ptr< impl > pimpl
Adios2StMan(MPI_Comm mpiComm, std::string engineType, std::map< std::string, std::string > engineParams, std::vector< std::map< std::string, std::string > > transportParams, std::vector< std::map< std::string, std::string > > operatorParams, std::string configFile)
void setDataManagerName(const String &aName)
virtual void create64(rownr_t aNrRows)
Let the data manager initialize itself for a new table.
static DataManager * makeObject(const String &aDataManType, const Record &spec)
Adios2StMan(std::string engineType, std::map< std::string, std::string > engineParams, std::vector< std::map< std::string, std::string > > transportParams, std::vector< std::map< std::string, std::string > > operatorParams, std::string configFile)
virtual DataManager * clone() const
Make a clone of the derived object.
Adios2StMan(std::string engineType={}, std::map< std::string, std::string > engineParams={}, std::vector< std::map< std::string, std::string > > transportParams={}, std::vector< std::map< std::string, std::string > > operatorParams={})
virtual DataManagerColumn * makeScalarColumn(const String &aName, int aDataType, const String &aDataTypeID)
Create a column in the data manager on behalf of a table column.
static constexpr from_config_t from_config
Adios2StMan(std::string configFile, from_config_t)
virtual void addRow64(rownr_t aNrRows)
Add rows to all columns.
Adios2StMan(MPI_Comm mpiComm, std::string configFile, from_config_t)
virtual String dataManagerName() const
Return the name of the data manager.
virtual DataManagerColumn * makeDirArrColumn(const String &aName, int aDataType, const String &aDataTypeID)
Create a direct array column.
virtual DataManagerColumn * makeIndArrColumn(const String &aName, int aDataType, const String &aDataTypeID)
Create an indirect array column.
virtual String dataManagerType() const
Return the type name of the data manager (in fact its class name).
friend class Adios2StManColumnT
virtual rownr_t open64(rownr_t aRowNr, AipsIO &ios)
Let the data manager initialize itself for an existing table.
Adios2StMan(MPI_Comm mpiComm, std::string engineType={}, std::map< std::string, std::string > engineParams={}, std::vector< std::map< std::string, std::string > > transportParams={}, std::vector< std::map< std::string, std::string > > operatorParams={})
Record dataManagerSpec() const
Return a record containing data manager specifications.
virtual void deleteManager()
The data manager will be deleted (because all its columns are requested to be deleted).
virtual rownr_t resync64(rownr_t aRowNr)
Resync the data by rereading cached data from the file.
DataManager()
Default constructor.
String: the storage and methods of handling collections of characters.
For temporary backward namespace compatibility, use casa as alias for casacore.
bool Bool
Define the standard types used by Casacore.
void register_adios2stman()
uInt64 rownr_t
Define the type of a row number in a table.
tag for differentiating string-based constructors