Mercurial > dovecot > core-2.2
annotate src/lib-compression/iostream-lz4.h @ 22616:629f44740f50
cassandra: Include "prepared" when logging about prepared statement queries
Mainly useful for debugging/testing.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Mon, 16 Oct 2017 15:12:12 +0300 |
parents | fb4a0a84da50 |
children |
rev | line source |
---|---|
17104
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
1 #ifndef IOSTREAM_LZ4_H |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
2 #define IOSTREAM_LZ4_H |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
4 /* |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
5 Dovecot's LZ4 compressed files contain: |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
7 IOSTREAM_LZ4_HEADER |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
8 n x (4 byte big-endian: compressed chunk length, compressed chunk) |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
9 */ |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
10 |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
11 #define IOSTREAM_LZ4_MAGIC "Dovecot-LZ4\x0d\x2a\x9b\xc5" |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
12 #define IOSTREAM_LZ4_MAGIC_LEN (sizeof(IOSTREAM_LZ4_MAGIC)-1) |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
13 |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
14 struct iostream_lz4_header { |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
15 unsigned char magic[IOSTREAM_LZ4_MAGIC_LEN]; |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
16 /* OSTREAM_LZ4_CHUNK_SIZE in big-endian */ |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
17 unsigned char max_uncompressed_chunk_size[4]; |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
18 }; |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
19 |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
20 /* How large chunks we're buffering into memory before compressing them */ |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
21 #define OSTREAM_LZ4_CHUNK_SIZE (1024*64) |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
22 /* How large chunks we allow in input data before returning a failure. |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
23 This must be at least OSTREAM_LZ4_CHUNK_SIZE, but for future compatibility |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
24 should be somewhat higher (but not too high to avoid wasting memory for |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
25 corrupted files). */ |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
26 #define ISTREAM_LZ4_CHUNK_SIZE (1024*1024) |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
27 |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
28 #define IOSTREAM_LZ4_CHUNK_PREFIX_LEN 4 /* big-endian size of chunk */ |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
29 |
fb4a0a84da50
lib-compression: Added initial support for LZ4
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
30 #endif |