support bitrot

Signed-off-by: junxiang Mu <1948535941@qq.com>
This commit is contained in:
junxiang Mu
2024-10-31 11:18:00 +08:00
parent c0e6751893
commit 640cf1caf3
5 changed files with 93 additions and 58 deletions
+3 -2
View File
@@ -12,7 +12,6 @@ use http::HeaderMap;
use rmp_serde::Serializer;
use s3s::dto::StreamingBlob;
use serde::{Deserialize, Serialize};
use sha2::Sha256;
use time::OffsetDateTime;
use uuid::Uuid;
@@ -249,7 +248,7 @@ impl ErasureInfo {
}
}
ChecksumInfo {algorithm: BitrotAlgorithm::HighwayHash256S, ..Default::default()}
ChecksumInfo {algorithm: DEFAULT_BITROT_ALGO, ..Default::default()}
}
}
@@ -261,6 +260,8 @@ pub struct ChecksumInfo {
pub hash: Vec<u8>,
}
pub const DEFAULT_BITROT_ALGO: BitrotAlgorithm = BitrotAlgorithm::HighwayHash256S;
#[derive(Serialize, Deserialize, Debug, PartialEq, Default, Clone, Eq, Hash)]
// BitrotAlgorithm specifies a algorithm used for bitrot protection.
pub enum BitrotAlgorithm {