pub struct TokenWindowMemory { /* private fields */ }Expand description
A MemoryPolicy that retains the most recent messages up to a token budget.
Messages are walked from newest to oldest, accumulating token counts
produced by a TokenCounter. Once including a message would exceed
max_tokens, the walk stops and the included messages are returned in
original (oldest-first) order. As with SlidingWindowMemory, a leading
orphan tool-result is dropped when its paired assistant tool call has
been truncated.
Implementations§
Source§impl TokenWindowMemory
impl TokenWindowMemory
Sourcepub fn new<C>(max_tokens: usize, counter: C) -> Selfwhere
C: TokenCounter + 'static,
pub fn new<C>(max_tokens: usize, counter: C) -> Selfwhere
C: TokenCounter + 'static,
Create a new policy with a token budget and a counter.
Trait Implementations§
Source§impl Debug for TokenWindowMemory
impl Debug for TokenWindowMemory
Source§impl MemoryPolicy for TokenWindowMemory
impl MemoryPolicy for TokenWindowMemory
Auto Trait Implementations§
impl Freeze for TokenWindowMemory
impl !RefUnwindSafe for TokenWindowMemory
impl Send for TokenWindowMemory
impl Sync for TokenWindowMemory
impl Unpin for TokenWindowMemory
impl UnsafeUnpin for TokenWindowMemory
impl !UnwindSafe for TokenWindowMemory
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