Merge branch 'main' into feat/ec_config

This commit is contained in:
weisd
2024-10-10 13:06:39 +08:00
committed by GitHub
22 changed files with 864 additions and 133 deletions
@@ -1,3 +1,5 @@
use crate::error::Result;
use rmp_serde::Serializer as rmpSerializer;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
@@ -38,3 +40,18 @@ pub struct BucketPolicy {
pub version: String,
pub statements: Vec<BPStatement>,
}
impl BucketPolicy {
pub fn marshal_msg(&self) -> Result<Vec<u8>> {
let mut buf = Vec::new();
self.serialize(&mut rmpSerializer::new(&mut buf).with_struct_map())?;
Ok(buf)
}
pub fn unmarshal(buf: &[u8]) -> Result<Self> {
let t: BucketPolicy = rmp_serde::from_slice(buf)?;
Ok(t)
}
}