#[non_exhaustive]pub enum RetentionPolicy {
Aggressive,
Bounded {
max_bytes: usize,
},
ReleaseAll,
}Expand description
What a codec keeps allocated between operations.
Reuse is the point of a long-lived codec, so the default keeps every buffer. A caller compressing occasionally, or juggling many codecs, can trade that back for memory. The policy never changes the bytes produced.
§Examples
use mzstd::{Compressor, RetentionPolicy};
let mut encoder = Compressor::new(Default::default())?;
encoder.compress(b"warm the tables up")?;
assert!(encoder.retained_bytes() > 0);
encoder.trim(RetentionPolicy::ReleaseAll);
assert_eq!(encoder.retained_bytes(), 0);Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Aggressive
Keep every buffer.
Bounded
Keep buffers while they fit inside a ceiling, and release them when not.
ReleaseAll
Keep nothing between operations.
Trait Implementations§
Source§impl Clone for RetentionPolicy
impl Clone for RetentionPolicy
impl Copy for RetentionPolicy
Source§impl Debug for RetentionPolicy
impl Debug for RetentionPolicy
Source§impl Default for RetentionPolicy
impl Default for RetentionPolicy
impl Eq for RetentionPolicy
Source§impl Hash for RetentionPolicy
impl Hash for RetentionPolicy
Source§impl PartialEq for RetentionPolicy
impl PartialEq for RetentionPolicy
impl StructuralPartialEq for RetentionPolicy
Auto Trait Implementations§
impl Freeze for RetentionPolicy
impl RefUnwindSafe for RetentionPolicy
impl Send for RetentionPolicy
impl Sync for RetentionPolicy
impl Unpin for RetentionPolicy
impl UnsafeUnpin for RetentionPolicy
impl UnwindSafe for RetentionPolicy
Blanket Implementations§
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