pub struct CompactConfig {
pub retention_window: usize,
pub eviction_window: f64,
pub thresholds: CompactThresholds,
}Expand description
Complete compaction configuration
Fields§
§retention_window: usizeNumber of most recent messages to always preserve
eviction_window: f64Percentage of context eligible for summarization (0.0-1.0) Higher = more aggressive compaction
thresholds: CompactThresholdsThresholds that trigger automatic compaction
Implementations§
Source§impl CompactConfig
impl CompactConfig
Sourcepub fn with_retention(retention: usize) -> Self
pub fn with_retention(retention: usize) -> Self
Create with custom retention window
Sourcepub fn with_thresholds(thresholds: CompactThresholds) -> Self
pub fn with_thresholds(thresholds: CompactThresholds) -> Self
Create with custom thresholds
Sourcepub fn should_compact(
&self,
token_count: usize,
turn_count: usize,
message_count: usize,
last_is_user: bool,
) -> bool
pub fn should_compact( &self, token_count: usize, turn_count: usize, message_count: usize, last_is_user: bool, ) -> bool
Check if compaction should be triggered based on current state
§Arguments
token_count- Current estimated token countturn_count- Number of user turnsmessage_count- Total number of messageslast_is_user- Whether the last message is from user
Trait Implementations§
Source§impl Clone for CompactConfig
impl Clone for CompactConfig
Source§fn clone(&self) -> CompactConfig
fn clone(&self) -> CompactConfig
Returns a duplicate of the value. Read more
1.0.0 · 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 CompactConfig
impl Debug for CompactConfig
Source§impl Default for CompactConfig
impl Default for CompactConfig
Source§impl<'de> Deserialize<'de> for CompactConfig
impl<'de> Deserialize<'de> for CompactConfig
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
Auto Trait Implementations§
impl Freeze for CompactConfig
impl RefUnwindSafe for CompactConfig
impl Send for CompactConfig
impl Sync for CompactConfig
impl Unpin for CompactConfig
impl UnwindSafe for CompactConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.