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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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