MCPcopy Create free account
hub / github.com/apache/orc / ZlibDecompressionStream

Method ZlibDecompressionStream

c++/src/Compression.cc:691–719  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

689#endif
690
691 ZlibDecompressionStream::ZlibDecompressionStream(std::unique_ptr<SeekableInputStream> inStream,
692 size_t bufferSize, MemoryPool& pool,
693 ReaderMetrics* metrics)
694 : DecompressionStream(std::move(inStream), bufferSize, pool, metrics) {
695 zstream_.next_in = nullptr;
696 zstream_.avail_in = 0;
697 zstream_.zalloc = nullptr;
698 zstream_.zfree = nullptr;
699 zstream_.opaque = nullptr;
700 zstream_.next_out = reinterpret_cast<Bytef*>(outputDataBuffer.data());
701 zstream_.avail_out = static_cast<uInt>(outputDataBuffer.capacity());
702 int64_t result = inflateInit2(&zstream_, -15);
703 switch (result) {
704 case Z_OK:
705 break;
706 case Z_MEM_ERROR:
707 throw CompressionError(
708 "Memory error from ZlibDecompressionStream::ZlibDecompressionStream inflateInit2");
709 case Z_VERSION_ERROR:
710 throw CompressionError(
711 "Version error from ZlibDecompressionStream::ZlibDecompressionStream inflateInit2");
712 case Z_STREAM_ERROR:
713 throw CompressionError(
714 "Stream error from ZlibDecompressionStream::ZlibDecompressionStream inflateInit2");
715 default:
716 throw CompressionError(
717 "Unknown error from ZlibDecompressionStream::ZlibDecompressionStream inflateInit2");
718 }
719 }
720
721 DIAGNOSTIC_POP
722

Callers

nothing calls this directly

Calls 3

CompressionErrorClass · 0.85
dataMethod · 0.45
capacityMethod · 0.45

Tested by

no test coverage detected