pub struct MemoryWorkGraphStore { /* private fields */ }Implementations§
Trait Implementations§
Source§impl Default for MemoryWorkGraphStore
impl Default for MemoryWorkGraphStore
Source§fn default() -> MemoryWorkGraphStore
fn default() -> MemoryWorkGraphStore
Returns the “default value” for a type. Read more
Source§impl WorkGraphStore for MemoryWorkGraphStore
impl WorkGraphStore for MemoryWorkGraphStore
fn kind(&self) -> WorkGraphStoreKind
fn get_store_time_utc<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DateTime<Utc>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn insert_item<'life0, 'async_trait>(
&'life0 self,
item: WorkItem,
event: WorkGraphEvent,
) -> Pin<Box<dyn Future<Output = Result<WorkItem, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_item_cas<'life0, 'async_trait>(
&'life0 self,
item: WorkItem,
expected_previous_revision: u64,
event: WorkGraphEvent,
) -> Pin<Box<dyn Future<Output = Result<WorkItem, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_item<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
realm_id: &'life1 str,
namespace: &'life2 WorkNamespace,
id: &'life3 WorkItemId,
) -> Pin<Box<dyn Future<Output = Result<Option<WorkItem>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn list_items<'life0, 'async_trait>(
&'life0 self,
filter: WorkItemFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkItem>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn insert_goal<'life0, 'async_trait>(
&'life0 self,
item: WorkItem,
item_event: WorkGraphEvent,
attention: WorkAttentionBinding,
attention_event: WorkGraphEvent,
) -> Pin<Box<dyn Future<Output = Result<(WorkItem, WorkAttentionBinding), WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_attention_cas<'life0, 'async_trait>(
&'life0 self,
attention: WorkAttentionBinding,
expected_previous_revision: u64,
event: WorkGraphEvent,
) -> Pin<Box<dyn Future<Output = Result<WorkAttentionBinding, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reassign_attention_cas<'life0, 'async_trait>(
&'life0 self,
previous: WorkAttentionBinding,
expected_previous_revision: u64,
previous_event: WorkGraphEvent,
replacement: WorkAttentionBinding,
replacement_event: WorkGraphEvent,
) -> Pin<Box<dyn Future<Output = Result<(WorkAttentionBinding, WorkAttentionBinding), WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_item_and_attention_cas<'life0, 'async_trait>(
&'life0 self,
item: WorkItem,
expected_previous_revision: u64,
item_event: WorkGraphEvent,
attention_updates: Vec<(WorkAttentionBinding, u64, WorkGraphEvent)>,
) -> Pin<Box<dyn Future<Output = Result<WorkItem, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_attention<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
realm_id: &'life1 str,
namespace: &'life2 WorkNamespace,
binding_id: &'life3 WorkAttentionBindingId,
) -> Pin<Box<dyn Future<Output = Result<Option<WorkAttentionBinding>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn list_attention<'life0, 'async_trait>(
&'life0 self,
filter: AttentionListRequest,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkAttentionBinding>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn list_attention_bounded<'life0, 'async_trait>(
&'life0 self,
filter: AttentionListRequest,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkAttentionBinding>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_attention_bounded<'life0, 'async_trait>(
&'life0 self,
filter: AttentionListRequest,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkAttentionBinding>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return at most
limit attention rows. Backends should push this bound
into iteration/query ownership; the default is compatibility-only for
custom stores.Source§fn prune_terminal_attention<'life0, 'async_trait>(
&'life0 self,
filter: AttentionPruneRequest,
) -> Pin<Box<dyn Future<Output = Result<u64, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prune_terminal_attention<'life0, 'async_trait>(
&'life0 self,
filter: AttentionPruneRequest,
) -> Pin<Box<dyn Future<Output = Result<u64, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delete TERMINAL (superseded/stopped) attention binding rows in scope.
The event stream keeps the audit history; binding rows otherwise grow
monotonically with reassignment churn. Returns the pruned row count.
fn insert_edge<'life0, 'async_trait>(
&'life0 self,
edge: WorkEdge,
event: WorkGraphEvent,
) -> Pin<Box<dyn Future<Output = Result<WorkEdge, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn insert_edge_validated<'life0, 'async_trait>(
&'life0 self,
edge: WorkEdge,
event: WorkGraphEvent,
) -> Pin<Box<dyn Future<Output = Result<WorkEdge, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_edges<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
realm_id: &'life1 str,
namespace: &'life2 WorkNamespace,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkEdge>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn list_edges_bounded<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
realm_id: &'life1 str,
namespace: &'life2 WorkNamespace,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkEdge>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_edges_bounded<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
realm_id: &'life1 str,
namespace: &'life2 WorkNamespace,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkEdge>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return at most
limit edges in one namespace.fn list_events<'life0, 'async_trait>(
&'life0 self,
filter: WorkGraphEventFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkGraphEvent>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn latest_event_seq<'life0, 'async_trait>(
&'life0 self,
filter: WorkGraphEventFilter,
) -> Pin<Box<dyn Future<Output = Result<Option<i64>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn latest_event_seq<'life0, 'async_trait>(
&'life0 self,
filter: WorkGraphEventFilter,
) -> Pin<Box<dyn Future<Output = Result<Option<i64>, WorkGraphError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Highest sequence matching a scope without retaining the event history.
Auto Trait Implementations§
impl !RefUnwindSafe for MemoryWorkGraphStore
impl !UnwindSafe for MemoryWorkGraphStore
impl Freeze for MemoryWorkGraphStore
impl Send for MemoryWorkGraphStore
impl Sync for MemoryWorkGraphStore
impl Unpin for MemoryWorkGraphStore
impl UnsafeUnpin for MemoryWorkGraphStore
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