/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: StreamPipeProcessor.hpp Date: 2021-6-9 Author: Reece ***/ #pragma once namespace Aurora::Compression { struct CompressionPipe { /// algorithm /// LZMA decompression + compression, and ZSTD compression only AuUInt32 threads {1}; /// consume from stream callback AuFunction inPipe; /// write to stream callback AuFunction writePipe; /// preemption and reporting AuFunction reportProgress; }; AUKN_SYM bool Decompress(const CompressionPipe &stream, const DecompressInfo &meta); AUKN_SYM bool Compress(const CompressionPipe &stream, const CompressionInfo &info); }