pub struct InMemoryPermissionCache { /* private fields */ }Expand description
In-memory permission cache using HashMap with TTL
This is the default cache backend. Permissions are stored in-memory with per-entry expiration timestamps.
Implementations§
Trait Implementations§
Source§impl Default for InMemoryPermissionCache
impl Default for InMemoryPermissionCache
Source§impl PermissionCacheBackend for InMemoryPermissionCache
impl PermissionCacheBackend for InMemoryPermissionCache
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<HashSet<Permission>>, CacheError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<HashSet<Permission>>, CacheError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get cached permissions for a user Read more
Source§fn set<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
permissions: &'life2 HashSet<Permission>,
ttl_seconds: u64,
) -> Pin<Box<dyn Future<Output = Result<(), CacheError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn set<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
permissions: &'life2 HashSet<Permission>,
ttl_seconds: u64,
) -> Pin<Box<dyn Future<Output = Result<(), CacheError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Cache permissions for a user with a TTL
Auto Trait Implementations§
impl !RefUnwindSafe for InMemoryPermissionCache
impl !UnwindSafe for InMemoryPermissionCache
impl Freeze for InMemoryPermissionCache
impl Send for InMemoryPermissionCache
impl Sync for InMemoryPermissionCache
impl Unpin for InMemoryPermissionCache
impl UnsafeUnpin for InMemoryPermissionCache
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