2011-07-18 09:28:26 -04:00
|
|
|
// @file compress.cpp
|
|
|
|
|
|
|
|
|
|
#include "../third_party/snappy/snappy.h"
|
|
|
|
|
#include "compress.h"
|
|
|
|
|
#include <string>
|
2011-08-02 10:37:48 -04:00
|
|
|
#include <string.h>
|
2011-07-18 09:28:26 -04:00
|
|
|
#include <assert.h>
|
|
|
|
|
|
|
|
|
|
namespace mongo {
|
|
|
|
|
|
2011-07-18 19:58:50 -04:00
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
2011-07-18 09:28:26 -04:00
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|