Files
ec3/src/zstd.c

35 lines
690 B
C
Raw Normal View History

2025-01-30 18:10:38 +00:00
#include "pipeline.h"
#include <zstd.h>
static enum ec3_status compress(
struct ec3_pipeline_stage *stage,
const void *src,
size_t len,
void *dest,
size_t dest_max,
2025-01-30 18:10:38 +00:00
size_t *nr_written)
{
*nr_written = ZSTD_compress(dest, dest_max, src, len, 10);
2025-01-30 18:10:38 +00:00
return EC3_SUCCESS;
}
static enum ec3_status decompress(
struct ec3_pipeline_stage *stage,
const void *src,
size_t len,
2025-01-30 18:10:38 +00:00
void *dest,
size_t dest_max,
2025-01-30 18:10:38 +00:00
size_t *nr_read)
{
*nr_read = ZSTD_decompress(dest, dest_max, src, len);
2025-01-30 18:10:38 +00:00
return EC3_SUCCESS;
}
const struct ec3_pipeline_stage_type pipeline_zstd = {
.t_id = EC3_PIPELINE_ZSTD,
.t_flags = EC3_PIPELINE_F_BUFFERED,
.t_cluster_in = decompress,
.t_cluster_out = compress,
2025-01-30 18:10:38 +00:00
};