Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
compression.hh
Go to the documentation of this file.
1#pragma once
3
4#include "lix/libutil/ref.hh"
7
8#include <string>
9
10namespace nix {
11
12struct CompressionSink : BufferedSink, FinishSink
13{
14 using BufferedSink::operator ();
15 using BufferedSink::writeUnbuffered;
16 using FinishSink::finish;
17};
18
19std::string decompress(const std::string & method, std::string_view in);
20
21std::unique_ptr<Source> makeDecompressionSource(const std::string & method, Source & inner);
22
23std::string compress(const std::string & method, std::string_view in, const bool parallel = false, int level = -1);
24
25ref<CompressionSink> makeCompressionSink(const std::string & method, Sink & nextSink, const bool parallel = false, int level = -1);
26
27MakeError(UnknownCompressionMethod, Error);
28
29MakeError(CompressionError, Error);
30
31}
Definition ref.hh:19
Definition compression.hh:13
Definition serialise.hh:35
Definition serialise.hh:18
Definition serialise.hh:66