pub struct SummarizedMemoryStrategy { /* private fields */ }Expand description
Keep first and last N messages, summarize the middle
Implementations§
Source§impl SummarizedMemoryStrategy
impl SummarizedMemoryStrategy
pub fn new(keep_first: usize, keep_last: usize) -> Self
pub fn with_summary(self, summary: impl Into<String>) -> Self
Sourcepub fn needs_summary(&self, messages: &[Message]) -> bool
pub fn needs_summary(&self, messages: &[Message]) -> bool
Check if summarization is needed (more than keep_first + keep_last messages)
Sourcepub fn messages_to_summarize<'a>(
&self,
messages: &'a [Message],
) -> &'a [Message]
pub fn messages_to_summarize<'a>( &self, messages: &'a [Message], ) -> &'a [Message]
Get messages that need to be summarized
Trait Implementations§
Source§impl Clone for SummarizedMemoryStrategy
impl Clone for SummarizedMemoryStrategy
Source§fn clone(&self) -> SummarizedMemoryStrategy
fn clone(&self) -> SummarizedMemoryStrategy
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 moreAuto Trait Implementations§
impl Freeze for SummarizedMemoryStrategy
impl RefUnwindSafe for SummarizedMemoryStrategy
impl Send for SummarizedMemoryStrategy
impl Sync for SummarizedMemoryStrategy
impl Unpin for SummarizedMemoryStrategy
impl UnwindSafe for SummarizedMemoryStrategy
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.