| 120 | } |
| 121 | |
| 122 | Result<FlushResult> Flush(int64_t output_len, uint8_t* output) override { |
| 123 | ZSTD_outBuffer out_buf; |
| 124 | |
| 125 | out_buf.dst = output; |
| 126 | out_buf.size = static_cast<size_t>(output_len); |
| 127 | out_buf.pos = 0; |
| 128 | |
| 129 | size_t ret; |
| 130 | ret = ZSTD_flushStream(stream_.get(), &out_buf); |
| 131 | if (ZSTD_isError(ret)) { |
| 132 | return ZSTDError(ret, "ZSTD flush failed: "); |
| 133 | } |
| 134 | return FlushResult{static_cast<int64_t>(out_buf.pos), ret > 0}; |
| 135 | } |
| 136 | |
| 137 | Result<EndResult> End(int64_t output_len, uint8_t* output) override { |
| 138 | ZSTD_outBuffer out_buf; |