|
|
@ -39,12 +39,12 @@ |
|
|
|
#endif |
|
|
|
|
|
|
|
#include <pthread.h> |
|
|
|
#if defined(HAVE_CRC32C) |
|
|
|
#if HAVE_CRC32C |
|
|
|
#include <crc32c/crc32c.h> |
|
|
|
#endif // defined(HAVE_CRC32C) |
|
|
|
#ifdef HAVE_SNAPPY |
|
|
|
#endif // HAVE_CRC32C |
|
|
|
#if HAVE_SNAPPY |
|
|
|
#include <snappy.h> |
|
|
|
#endif // defined(HAVE_SNAPPY) |
|
|
|
#endif // HAVE_SNAPPY |
|
|
|
#include <stdint.h> |
|
|
|
#include <string> |
|
|
|
#include "port/atomic_pointer.h" |
|
|
@ -110,33 +110,33 @@ extern void InitOnce(OnceType* once, void (*initializer)()); |
|
|
|
|
|
|
|
inline bool Snappy_Compress(const char* input, size_t length, |
|
|
|
::std::string* output) { |
|
|
|
#ifdef HAVE_SNAPPY |
|
|
|
#if HAVE_SNAPPY |
|
|
|
output->resize(snappy::MaxCompressedLength(length)); |
|
|
|
size_t outlen; |
|
|
|
snappy::RawCompress(input, length, &(*output)[0], &outlen); |
|
|
|
output->resize(outlen); |
|
|
|
return true; |
|
|
|
#endif // defined(HAVE_SNAPPY) |
|
|
|
#endif // HAVE_SNAPPY |
|
|
|
|
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
inline bool Snappy_GetUncompressedLength(const char* input, size_t length, |
|
|
|
size_t* result) { |
|
|
|
#ifdef HAVE_SNAPPY |
|
|
|
#if HAVE_SNAPPY |
|
|
|
return snappy::GetUncompressedLength(input, length, result); |
|
|
|
#else |
|
|
|
return false; |
|
|
|
#endif // defined(HAVE_SNAPPY) |
|
|
|
#endif // HAVE_SNAPPY |
|
|
|
} |
|
|
|
|
|
|
|
inline bool Snappy_Uncompress(const char* input, size_t length, |
|
|
|
char* output) { |
|
|
|
#ifdef HAVE_SNAPPY |
|
|
|
#if HAVE_SNAPPY |
|
|
|
return snappy::RawUncompress(input, length, output); |
|
|
|
#else |
|
|
|
return false; |
|
|
|
#endif // defined(HAVE_SNAPPY) |
|
|
|
#endif // HAVE_SNAPPY |
|
|
|
} |
|
|
|
|
|
|
|
inline bool GetHeapProfile(void (*func)(void*, const char*, int), void* arg) { |
|
|
@ -144,11 +144,11 @@ inline bool GetHeapProfile(void (*func)(void*, const char*, int), void* arg) { |
|
|
|
} |
|
|
|
|
|
|
|
inline uint32_t AcceleratedCRC32C(uint32_t crc, const char* buf, size_t size) { |
|
|
|
#if defined(HAVE_CRC32C) |
|
|
|
#if HAVE_CRC32C |
|
|
|
return ::crc32c::Extend(crc, reinterpret_cast<const uint8_t*>(buf), size); |
|
|
|
#else |
|
|
|
return 0; |
|
|
|
#endif // defined(HAVE_CRC32C) |
|
|
|
#endif // HAVE_CRC32C |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace port |
|
|
|