pub struct InMemoryStorage { /* private fields */ }Expand description
In-memory storage provider
Implementations§
Source§impl InMemoryStorage
impl InMemoryStorage
Sourcepub fn with_capacity(max_events: usize) -> Self
pub fn with_capacity(max_events: usize) -> Self
Create with specified capacity
Trait Implementations§
Source§impl Default for InMemoryStorage
impl Default for InMemoryStorage
Source§impl StorageProvider for InMemoryStorage
impl StorageProvider for InMemoryStorage
Source§fn store_event<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 SecurityEvent,
) -> Pin<Box<dyn Future<Output = Result<EventId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn store_event<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 SecurityEvent,
) -> Pin<Box<dyn Future<Output = Result<EventId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Store a security event
Source§fn get_event<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 EventId,
) -> Pin<Box<dyn Future<Output = Result<Option<SecurityEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_event<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 EventId,
) -> Pin<Box<dyn Future<Output = Result<Option<SecurityEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve an event by ID
Source§fn query_events<'life0, 'async_trait>(
&'life0 self,
filter: EventFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<SecurityEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query_events<'life0, 'async_trait>(
&'life0 self,
filter: EventFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<SecurityEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Query events with filters
Source§fn store_rate_limit_state<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key: &'life1 RateLimitKey,
state: &'life2 RateLimitState,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn store_rate_limit_state<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key: &'life1 RateLimitKey,
state: &'life2 RateLimitState,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Store rate limit state
Source§fn get_rate_limit_state<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 RateLimitKey,
) -> Pin<Box<dyn Future<Output = Result<Option<RateLimitState>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_rate_limit_state<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 RateLimitKey,
) -> Pin<Box<dyn Future<Output = Result<Option<RateLimitState>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get rate limit state
Source§fn cleanup_rate_limit_states<'life0, 'async_trait>(
&'life0 self,
older_than: Duration,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cleanup_rate_limit_states<'life0, 'async_trait>(
&'life0 self,
older_than: Duration,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Clear old rate limit states
Source§fn store_correlation_state<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client_id: &'life1 str,
state: &'life2 CorrelationState,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn store_correlation_state<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client_id: &'life1 str,
state: &'life2 CorrelationState,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Store correlation state
Source§fn get_correlation_state<'life0, 'life1, 'async_trait>(
&'life0 self,
client_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<CorrelationState>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_correlation_state<'life0, 'life1, 'async_trait>(
&'life0 self,
client_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<CorrelationState>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get correlation state
Source§fn create_snapshot<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SnapshotId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_snapshot<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SnapshotId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create a snapshot
Source§fn list_snapshots<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<(SnapshotId, DateTime<Utc>)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_snapshots<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<(SnapshotId, DateTime<Utc>)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
List available snapshots
Source§fn restore_snapshot<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SnapshotId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn restore_snapshot<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SnapshotId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Restore from snapshot
Source§fn delete_snapshot<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SnapshotId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_snapshot<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SnapshotId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete a snapshot
Auto Trait Implementations§
impl !RefUnwindSafe for InMemoryStorage
impl !UnwindSafe for InMemoryStorage
impl Freeze for InMemoryStorage
impl Send for InMemoryStorage
impl Sync for InMemoryStorage
impl Unpin for InMemoryStorage
impl UnsafeUnpin for InMemoryStorage
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
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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