summa_core/proto_traits/
compression.rs1use summa_proto::proto;
2use tantivy::store::{Compressor, ZstdCompressor};
3
4use crate::proto_traits::Wrapper;
5
6impl From<Wrapper<proto::Compression>> for Compressor {
7 fn from(compression: Wrapper<proto::Compression>) -> Self {
8 match compression.into_inner() {
9 proto::Compression::None => Compressor::None,
10 proto::Compression::Zstd => Compressor::Zstd(ZstdCompressor { compression_level: Some(3) }),
11 proto::Compression::Zstd7 => Compressor::Zstd(ZstdCompressor { compression_level: Some(7) }),
12 proto::Compression::Zstd9 => Compressor::Zstd(ZstdCompressor { compression_level: Some(9) }),
13 proto::Compression::Zstd14 => Compressor::Zstd(ZstdCompressor { compression_level: Some(14) }),
14 proto::Compression::Zstd19 => Compressor::Zstd(ZstdCompressor { compression_level: Some(19) }),
15 proto::Compression::Zstd22 => Compressor::Zstd(ZstdCompressor { compression_level: Some(22) }),
16 }
17 }
18}
19
20impl From<Compressor> for Wrapper<proto::Compression> {
21 fn from(compressor: Compressor) -> Self {
22 Wrapper::from(match compressor {
23 Compressor::None => proto::Compression::None,
24 Compressor::Zstd(ZstdCompressor { compression_level: Some(3) }) => proto::Compression::Zstd,
25 Compressor::Zstd(ZstdCompressor { compression_level: Some(7) }) => proto::Compression::Zstd7,
26 Compressor::Zstd(ZstdCompressor { compression_level: Some(9) }) => proto::Compression::Zstd9,
27 Compressor::Zstd(ZstdCompressor { compression_level: Some(14) }) => proto::Compression::Zstd14,
28 Compressor::Zstd(ZstdCompressor { compression_level: Some(19) }) => proto::Compression::Zstd19,
29 Compressor::Zstd(ZstdCompressor { compression_level: Some(22) }) => proto::Compression::Zstd22,
30 Compressor::Zstd(ZstdCompressor { .. }) => panic!("Unsupported panic"),
31 })
32 }
33}