#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Data {
#[prost(enumeration = "DataType", required, tag = "1")]
pub r#type: i32,
#[prost(bytes = "vec", optional, tag = "2")]
pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
#[prost(uint64, optional, tag = "3")]
pub filesize: ::core::option::Option<u64>,
#[prost(uint64, repeated, packed = "false", tag = "4")]
pub blocksizes: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, optional, tag = "5")]
pub hash_type: ::core::option::Option<u64>,
#[prost(uint64, optional, tag = "6")]
pub fanout: ::core::option::Option<u64>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DataType {
Raw = 0,
Directory = 1,
File = 2,
Metadata = 3,
Symlink = 4,
HamtShard = 5,
}
impl DataType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Raw => "Raw",
Self::Directory => "Directory",
Self::File => "File",
Self::Metadata => "Metadata",
Self::Symlink => "Symlink",
Self::HamtShard => "HAMTShard",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"Raw" => Some(Self::Raw),
"Directory" => Some(Self::Directory),
"File" => Some(Self::File),
"Metadata" => Some(Self::Metadata),
"Symlink" => Some(Self::Symlink),
"HAMTShard" => Some(Self::HamtShard),
_ => None,
}
}
}