pub struct ConversationWindowMemory { /* private fields */ }Expand description
A memory strategy that keeps only the last window_size messages.
All messages are stored in the underlying store, but load returns
only the most recent window_size messages.
Implementations§
Source§impl ConversationWindowMemory
impl ConversationWindowMemory
Sourcepub fn new(store: Arc<dyn MemoryStore>, window_size: usize) -> Self
pub fn new(store: Arc<dyn MemoryStore>, window_size: usize) -> Self
Create a new window memory wrapping the given store.
window_size is the maximum number of messages returned by load.
Trait Implementations§
Source§impl MemoryStore for ConversationWindowMemory
impl MemoryStore for ConversationWindowMemory
fn append<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
message: Message,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn load<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Message>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn clear<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Auto Trait Implementations§
impl Freeze for ConversationWindowMemory
impl !RefUnwindSafe for ConversationWindowMemory
impl Send for ConversationWindowMemory
impl Sync for ConversationWindowMemory
impl Unpin for ConversationWindowMemory
impl UnsafeUnpin for ConversationWindowMemory
impl !UnwindSafe for ConversationWindowMemory
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