PR-URL: https://github.com/nodejs/node/pull/53464 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
/*
|
|
* Copyright (C) 2024 Intel Corporation. All rights reserved.
|
|
* Authors:
|
|
* Gustavo A Espinoza <gustavo.adolfo.espinoza.quintero@intel.com>
|
|
* <gustavoaespinozaq@hotmail.com>
|
|
*
|
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
|
*/
|
|
#ifndef QATZPP_WORK_HPP
|
|
#define QATZPP_WORK_HPP
|
|
|
|
#include <qat/cpa.h>
|
|
|
|
#include <memory>
|
|
|
|
#include "io_buffers.h"
|
|
|
|
namespace qat
|
|
{
|
|
|
|
class QATTask
|
|
{
|
|
public:
|
|
explicit QATTask(std::shared_ptr<Instance> &qat_instance,
|
|
std::unique_ptr<IOBuffers> &&,
|
|
std::unique_ptr<CpaDcRqResults> &&dc_results);
|
|
|
|
QATTask(QATTask &&) = delete;
|
|
QATTask& operator=(QATTask &&) = delete;
|
|
|
|
QATTask(const QATTask &) = delete;
|
|
QATTask &operator=(const QATTask &) = delete;
|
|
|
|
void WaitCompletion();
|
|
|
|
IOBuffers *GetBuffers();
|
|
CpaDcRqResults *GetResults();
|
|
|
|
private:
|
|
bool completed_;
|
|
|
|
std::shared_ptr<Instance> qat_instance_;
|
|
|
|
std::unique_ptr<CpaDcRqResults> dc_results_;
|
|
std::unique_ptr<IOBuffers> io_buffers_;
|
|
|
|
friend void dc_callback(void *, CpaStatus);
|
|
};
|
|
|
|
void dc_callback(void*, CpaStatus);
|
|
|
|
}
|
|
|
|
#endif |