MCPcopy Create free account
hub / github.com/apache/arrow / Compress

Method Compress

cpp/src/arrow/util/compression_bz2.cc:177–191  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

175 }
176
177 Result<CompressResult> Compress(int64_t input_len, const uint8_t* input,
178 int64_t output_len, uint8_t* output) override {
179 stream_.next_in = const_cast<char*>(reinterpret_cast<const char*>(input));
180 stream_.avail_in = static_cast<unsigned int>(std::min(input_len, kSizeLimit));
181 stream_.next_out = reinterpret_cast<char*>(output);
182 stream_.avail_out = static_cast<unsigned int>(std::min(output_len, kSizeLimit));
183 int ret;
184
185 ret = BZ2_bzCompress(&stream_, BZ_RUN);
186 if (ret == BZ_RUN_OK) {
187 return CompressResult{input_len - stream_.avail_in, output_len - stream_.avail_out};
188 } else {
189 return BZ2Error("bz2 compress failed: ", ret);
190 }
191 }
192
193 Result<FlushResult> Flush(int64_t output_len, uint8_t* output) override {
194 stream_.next_in = nullptr;

Callers

nothing calls this directly

Calls 1

BZ2ErrorFunction · 0.85

Tested by

no test coverage detected