/*
 * SPDX-FileCopyrightText: 2026 Oak Ridge National Laboratory and Contributors
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#ifndef ADIOS2_ENGINE_DAOS_DAOSREADER_TCC_
#define ADIOS2_ENGINE_DAOS_DAOSREADER_TCC_

#include "DaosReader.h"

#include "adios2/common/Selection.h"
#include "adios2/helper/adiosFunctions.h"

namespace adios2
{
namespace core
{
namespace engine
{

inline void DaosReader::GetSyncCommon(VariableBase &variable, void *data)
{
    auto sel = InferSelection(variable);
    bool need_sync = m_BP5Deserializer->QueueGet(variable, data, sel);
    if (need_sync)
        PerformGets();
}

void DaosReader::GetDeferredCommon(VariableBase &variable, void *data)
{
    auto sel = InferSelection(variable);
    (void)m_BP5Deserializer->QueueGet(variable, data, sel);
}

} // end namespace engine
} // end namespace core
} // end namespace adios2

#endif /* ADIOS2_ENGINE_DAOS_DAOSREADER_TCC_ */
