pub struct CompressionUtil;Expand description
压缩工具类
提供便捷的压缩/解压方法,使用全局注册表
Implementations§
Source§impl CompressionUtil
impl CompressionUtil
Sourcepub fn get_compressor(algorithm: CompressionAlgorithm) -> Arc<dyn Compressor> ⓘ
pub fn get_compressor(algorithm: CompressionAlgorithm) -> Arc<dyn Compressor> ⓘ
根据算法类型获取压缩器
Sourcepub fn get_compressor_by_name(name: &str) -> Option<Arc<dyn Compressor>>
pub fn get_compressor_by_name(name: &str) -> Option<Arc<dyn Compressor>>
根据名称获取压缩器
Sourcepub fn decompress(
data: &[u8],
algorithm: CompressionAlgorithm,
) -> Result<Vec<u8>>
pub fn decompress( data: &[u8], algorithm: CompressionAlgorithm, ) -> Result<Vec<u8>>
解压数据(根据算法类型)
Sourcepub fn is_registered(name: &str) -> bool
pub fn is_registered(name: &str) -> bool
Sourcepub fn auto_decompress(data: &[u8]) -> Result<(Vec<u8>, CompressionAlgorithm)>
pub fn auto_decompress(data: &[u8]) -> Result<(Vec<u8>, CompressionAlgorithm)>
尝试自动检测压缩算法并解压
首先尝试自动检测压缩算法,如果检测不到则作为无压缩处理
Sourcepub fn register_custom(compressor: Arc<dyn Compressor>)
pub fn register_custom(compressor: Arc<dyn Compressor>)
Auto Trait Implementations§
impl Freeze for CompressionUtil
impl RefUnwindSafe for CompressionUtil
impl Send for CompressionUtil
impl Sync for CompressionUtil
impl Unpin for CompressionUtil
impl UnsafeUnpin for CompressionUtil
impl UnwindSafe for CompressionUtil
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