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>
45 lines
1.0 KiB
C++
45 lines
1.0 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_SESSION_HPP
|
|
#define QATZPP_SESSION_HPP
|
|
|
|
#include <qat/cpa.h>
|
|
#include <qat/cpa_dc.h>
|
|
|
|
#include <memory>
|
|
|
|
#include "io_buffers.h"
|
|
#include "qat_task.hpp"
|
|
|
|
namespace qat
|
|
{
|
|
|
|
class DeflateSession
|
|
{
|
|
public:
|
|
DeflateSession(
|
|
std::shared_ptr<Instance> &, CpaDcCompLvl,
|
|
CpaDcChecksum, uint32_t numa_node);
|
|
~DeflateSession();
|
|
|
|
std::unique_ptr<QATTask> Deflate(std::unique_ptr<IOBuffers> &&buffers, bool flush_final);
|
|
std::unique_ptr<QATTask> Inflate(std::unique_ptr<IOBuffers> &&buffers);
|
|
|
|
uint32_t GetDeflateBound(uint32_t input_size);
|
|
|
|
std::shared_ptr<Instance> getInstance() { return qat_instance_; }
|
|
|
|
private:
|
|
std::shared_ptr<Instance> qat_instance_;
|
|
CpaDcSessionHandle session_;
|
|
};
|
|
|
|
}
|
|
|
|
#endif |