pub struct MemoryConversationItemStorage { /* private fields */ }Implementations§
Trait Implementations§
Source§impl Clone for MemoryConversationItemStorage
impl Clone for MemoryConversationItemStorage
Source§fn clone(&self) -> MemoryConversationItemStorage
fn clone(&self) -> MemoryConversationItemStorage
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 ConversationItemStorage for MemoryConversationItemStorage
impl ConversationItemStorage for MemoryConversationItemStorage
fn create_item<'life0, 'async_trait>(
&'life0 self,
new_item: NewConversationItem,
) -> Pin<Box<dyn Future<Output = Result<ConversationItem, ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn link_item<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
conversation_id: &'life1 ConversationId,
item_id: &'life2 ConversationItemId,
added_at: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = Result<(), ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn link_items<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
conversation_id: &'life1 ConversationId,
items: &'life2 [(ConversationItemId, DateTime<Utc>)],
) -> Pin<Box<dyn Future<Output = Result<(), ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn link_items<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
conversation_id: &'life1 ConversationId,
items: &'life2 [(ConversationItemId, DateTime<Utc>)],
) -> Pin<Box<dyn Future<Output = Result<(), ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Batch-link multiple items to a conversation in a single operation.
Default implementation loops over
link_item; backends may override
with a more efficient batched approach.fn list_items<'life0, 'life1, 'async_trait>(
&'life0 self,
conversation_id: &'life1 ConversationId,
params: ListParams,
) -> Pin<Box<dyn Future<Output = Result<Vec<ConversationItem>, ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_item<'life0, 'life1, 'async_trait>(
&'life0 self,
item_id: &'life1 ConversationItemId,
) -> Pin<Box<dyn Future<Output = Result<Option<ConversationItem>, ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_item<'life0, 'life1, 'async_trait>(
&'life0 self,
item_id: &'life1 ConversationItemId,
) -> Pin<Box<dyn Future<Output = Result<Option<ConversationItem>, ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a single item by ID
Source§fn is_item_linked<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
conversation_id: &'life1 ConversationId,
item_id: &'life2 ConversationItemId,
) -> Pin<Box<dyn Future<Output = Result<bool, ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn is_item_linked<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
conversation_id: &'life1 ConversationId,
item_id: &'life2 ConversationItemId,
) -> Pin<Box<dyn Future<Output = Result<bool, ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Check if an item is linked to a conversation
Source§fn delete_item<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
conversation_id: &'life1 ConversationId,
item_id: &'life2 ConversationItemId,
) -> Pin<Box<dyn Future<Output = Result<(), ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete_item<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
conversation_id: &'life1 ConversationId,
item_id: &'life2 ConversationItemId,
) -> Pin<Box<dyn Future<Output = Result<(), ConversationItemStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Delete an item link from a conversation (does not delete the item itself)
Source§impl Default for MemoryConversationItemStorage
impl Default for MemoryConversationItemStorage
Source§fn default() -> MemoryConversationItemStorage
fn default() -> MemoryConversationItemStorage
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MemoryConversationItemStorage
impl !RefUnwindSafe for MemoryConversationItemStorage
impl Send for MemoryConversationItemStorage
impl Sync for MemoryConversationItemStorage
impl Unpin for MemoryConversationItemStorage
impl UnsafeUnpin for MemoryConversationItemStorage
impl !UnwindSafe for MemoryConversationItemStorage
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> 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 more