#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChunkDescriptor {
#[prost(bytes = "vec", tag = "1")]
pub checksum: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "3")]
pub archive_size: u32,
#[prost(uint64, tag = "4")]
pub archive_offset: u64,
#[prost(uint32, tag = "5")]
pub source_size: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChunkerParameters {
#[prost(uint32, tag = "1")]
pub chunk_filter_bits: u32,
#[prost(uint32, tag = "2")]
pub min_chunk_size: u32,
#[prost(uint32, tag = "3")]
pub max_chunk_size: u32,
#[prost(uint32, tag = "4")]
pub rolling_hash_window_size: u32,
#[prost(uint32, tag = "5")]
pub chunk_hash_length: u32,
#[prost(enumeration = "chunker_parameters::ChunkingAlgorithm", tag = "6")]
pub chunking_algorithm: i32,
}
pub mod chunker_parameters {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum ChunkingAlgorithm {
Buzhash = 0,
Rollsum = 1,
FixedSize = 2,
}
impl ChunkingAlgorithm {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Buzhash => "BUZHASH",
Self::Rollsum => "ROLLSUM",
Self::FixedSize => "FIXED_SIZE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BUZHASH" => Some(Self::Buzhash),
"ROLLSUM" => Some(Self::Rollsum),
"FIXED_SIZE" => Some(Self::FixedSize),
_ => None,
}
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChunkCompression {
#[prost(enumeration = "chunk_compression::CompressionType", tag = "2")]
pub compression: i32,
#[prost(uint32, tag = "3")]
pub compression_level: u32,
}
pub mod chunk_compression {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum CompressionType {
None = 0,
Lzma = 1,
Zstd = 2,
Brotli = 3,
}
impl CompressionType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "NONE",
Self::Lzma => "LZMA",
Self::Zstd => "ZSTD",
Self::Brotli => "BROTLI",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NONE" => Some(Self::None),
"LZMA" => Some(Self::Lzma),
"ZSTD" => Some(Self::Zstd),
"BROTLI" => Some(Self::Brotli),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChunkDictionary {
#[prost(string, tag = "1")]
pub application_version: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub source_checksum: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "3")]
pub source_total_size: u64,
#[prost(message, optional, tag = "4")]
pub chunker_params: ::core::option::Option<ChunkerParameters>,
#[prost(message, optional, tag = "5")]
pub chunk_compression: ::core::option::Option<ChunkCompression>,
#[prost(uint32, repeated, tag = "6")]
pub rebuild_order: ::prost::alloc::vec::Vec<u32>,
#[prost(message, repeated, tag = "7")]
pub chunk_descriptors: ::prost::alloc::vec::Vec<ChunkDescriptor>,
#[prost(btree_map = "string, bytes", tag = "8")]
pub metadata: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::vec::Vec<u8>,
>,
}