#pragma once ///@file #include "ref.hh" #include "types.hh" #include "serialise.hh" #include namespace nix { struct CompressionSink : BufferedSink, FinishSink { using BufferedSink::operator (); using BufferedSink::writeUnbuffered; using FinishSink::finish; }; std::string decompress(const std::string & method, std::string_view in); std::unique_ptr makeDecompressionSink(const std::string & method, Sink & nextSink); std::unique_ptr makeDecompressionSource(const std::string & method, Source & inner); std::string compress(const std::string & method, std::string_view in, const bool parallel = false, int level = -1); ref makeCompressionSink(const std::string & method, Sink & nextSink, const bool parallel = false, int level = -1); MakeError(UnknownCompressionMethod, Error); MakeError(CompressionError, Error); }