/* * Copyright (C) 2024 Intel Corporation. All rights reserved. * Authors: * Gustavo A Espinoza * * * For conditions of distribution and use, see copyright notice in zlib.h */ #ifndef QATZPP_SESSION_HPP #define QATZPP_SESSION_HPP #include #include #include #include "io_buffers.h" #include "qat_task.hpp" namespace qat { class DeflateSession { public: DeflateSession( std::shared_ptr &, CpaDcCompLvl, CpaDcChecksum, uint32_t numa_node); ~DeflateSession(); std::unique_ptr Deflate(std::unique_ptr &&buffers, bool flush_final); std::unique_ptr Inflate(std::unique_ptr &&buffers); uint32_t GetDeflateBound(uint32_t input_size); std::shared_ptr getInstance() { return qat_instance_; } private: std::shared_ptr qat_instance_; CpaDcSessionHandle session_; }; } #endif