pub enum CompressionAlgorithm {
None,
Gzip,
Zstd,
Custom(String),
}Expand description
压缩算法类型枚举
支持内置算法和自定义算法扩展
Variants§
None
不使用压缩
Gzip
Gzip 压缩
Zstd
Zstd 压缩(待实现)
Custom(String)
自定义压缩算法(通过字符串标识符)
使用此变体可以注册和使用自定义压缩算法
自定义算法必须通过 CompressionUtil::register_custom 注册
§示例
ⓘ
use flare_core::common::compression::{CompressionAlgorithm, CompressionUtil, Compressor};
use std::sync::Arc;
// 注册自定义压缩器
struct MyCustomCompressor;
impl Compressor for MyCustomCompressor { /* ... */ }
CompressionUtil::register_custom(Arc::new(MyCustomCompressor));
// 使用自定义算法
let algo = CompressionAlgorithm::Custom("my_custom".to_string());Implementations§
Source§impl CompressionAlgorithm
impl CompressionAlgorithm
Sourcepub fn from_str(s: &str) -> Option<Self>
pub fn from_str(s: &str) -> Option<Self>
从字符串转换为压缩算法
如果字符串匹配内置算法,返回对应的枚举值
否则返回 Custom(String) 变体
§示例
use flare_core::common::compression::CompressionAlgorithm;
assert_eq!(CompressionAlgorithm::from_str("none"), Some(CompressionAlgorithm::None));
assert_eq!(CompressionAlgorithm::from_str("gzip"), Some(CompressionAlgorithm::Gzip));
assert_eq!(
CompressionAlgorithm::from_str("my_custom"),
Some(CompressionAlgorithm::Custom("my_custom".to_string()))
);Sourcepub fn as_str(&self) -> String
pub fn as_str(&self) -> String
转换为字符串标识符
返回算法的字符串表示,可用于注册表查找
§示例
use flare_core::common::compression::CompressionAlgorithm;
assert_eq!(CompressionAlgorithm::None.as_str(), "none");
assert_eq!(CompressionAlgorithm::Gzip.as_str(), "gzip");
assert_eq!(CompressionAlgorithm::Custom("my_custom".to_string()).as_str(), "my_custom");Sourcepub fn custom_name(&self) -> Option<&str>
pub fn custom_name(&self) -> Option<&str>
获取自定义算法名称(如果是自定义算法)
Trait Implementations§
Source§impl Clone for CompressionAlgorithm
impl Clone for CompressionAlgorithm
Source§fn clone(&self) -> CompressionAlgorithm
fn clone(&self) -> CompressionAlgorithm
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompressionAlgorithm
impl Debug for CompressionAlgorithm
Source§impl<'de> Deserialize<'de> for CompressionAlgorithm
impl<'de> Deserialize<'de> for CompressionAlgorithm
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for CompressionAlgorithm
Source§impl Hash for CompressionAlgorithm
impl Hash for CompressionAlgorithm
Source§impl PartialEq for CompressionAlgorithm
impl PartialEq for CompressionAlgorithm
Source§fn eq(&self, other: &CompressionAlgorithm) -> bool
fn eq(&self, other: &CompressionAlgorithm) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for CompressionAlgorithm
impl Serialize for CompressionAlgorithm
impl StructuralPartialEq for CompressionAlgorithm
Auto Trait Implementations§
impl Freeze for CompressionAlgorithm
impl RefUnwindSafe for CompressionAlgorithm
impl Send for CompressionAlgorithm
impl Sync for CompressionAlgorithm
impl Unpin for CompressionAlgorithm
impl UnsafeUnpin for CompressionAlgorithm
impl UnwindSafe for CompressionAlgorithm
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more