summaryrefslogtreecommitdiff
path: root/util/compress.cpp
blob: bcde488b88b70374a34988c6068fdbfd6fc7f013 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// @file compress.cpp

#include "../third_party/snappy/snappy.h"
#include "compress.h"
#include <string>
#include <string.h>
#include <assert.h>

namespace mongo {

    void rawCompress(const char* input,
        size_t input_length,
        char* compressed,
        size_t* compressed_length) 
    { 
        snappy::RawCompress(input, input_length, compressed, compressed_length);
    }

    size_t maxCompressedLength(size_t source_len) { 
        return snappy::MaxCompressedLength(source_len);
    }

    size_t compress(const char* input, size_t input_length, std::string* output) { 
        return snappy::Compress(input, input_length, output);
    }

    bool uncompress(const char* compressed, size_t compressed_length, std::string* uncompressed) { 
        return snappy::Uncompress(compressed, compressed_length, uncompressed);
    }

}