source/adios2/engine/julea-db-do/JuleaDB-DO-Writer.cpp
/**
 * Called to guarantee that read/write are really executed and the results
 * available.
 */
Called to guarantee that read/write are really executed and the results
available.
Called to guarantee that read / write are really executed and the results available .
void JuleaDB_DO_Writer::PerformPuts()
{
    if (m_Verbosity == 5)
    {
        std::cout << "Julea DB Writer " << m_WriterRank
                  << "     PerformPuts()\n";
    }
    if (m_DeferredVariables.empty())
    {
        m_CurrentBlockID = 0;
        return;
    }
    for (const std::string &variableName : m_DeferredVariables)
    {
        const DataType type = m_IO.InquireVariableType(variableName);
        if (type == DataType::Compound)
        {
            std::cout << "Julea DB Writer " << m_WriterRank
                      << "     PerformPuts()"
                      << "compound variable type not supported \n";
        }
#define declare_template_instantiation(T)                                      \
    else if (type == helper::GetDataType<T>())                                     \
    {                                                                          \
        Variable<T> &variable = FindVariable<T>(                               \
            variableName, "in call to PerformPuts, EndStep or Close");         \
                                                                               \
        PerformPutCommon(variable);                                            \
    }
        ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation)
#undef declare_template_instantiation
    }
    m_DeferredVariables.clear();
    m_CurrentBlockID = 0;
}
void JuleaDB_DO_Writer :: PerformPuts ( ) { if ( m_Verbosity == 5 ) { std :: cout << " " << m_WriterRank << " \n " ; } if ( m_DeferredVariables . empty ( ) ) { m_CurrentBlockID = 0 ; return ; } for ( const std :: string & variableName : m_DeferredVariables ) { const DataType type = m_IO . InquireVariableType ( variableName ) ; if ( type == DataType :: Compound ) { std :: cout << " " << m_WriterRank << " " << " \n " ; } #define declare_template_instantiation ( T )                                       \
    else if (type == helper::GetDataType<T>())                                     \
    {                                                                          \
        Variable<T> &variable = FindVariable<T>(                               \
            variableName, "in call to PerformPuts, EndStep or Close");         \
                                                                               \
        PerformPutCommon(variable);                                            \
    } ADIOS2_FOREACH_STDTYPE_1ARG ( declare_template_instantiation ) #undef  declare_template_instantiation } m_DeferredVariables . clear ( ) ; m_CurrentBlockID = 0 ; }
Called to guarantee that read/write are really executed and the results
 available.
Called to guarantee that read / write are really executed and the results available .
/** if there are no deferred variables there is nothing to do */ // std::cout << "deferred variables are empty " << std::endl; // TODO: blockID not set correctly when using put sync without // begin/end step and without bpls just with perform puts /** Call PutSyncCommon for every variable that has been deferred */ // not supported // std::cout << "--- PerformPuts -- " << std::endl;