pub struct InMemoryResourceStore { /* private fields */ }Expand description
An in-memory implementation of a resource store.
Not intended for production use, but useful for testing and development. Like
the durable backends, credential secret fields are sealed inline on the
object row (see ManagedObjectStore); there is no separate secret store.
Implementations§
Source§impl InMemoryResourceStore
impl InMemoryResourceStore
pub fn new(encryptor: EnvelopeEncryptor) -> Self
Trait Implementations§
Source§impl Clone for InMemoryResourceStore
impl Clone for InMemoryResourceStore
Source§fn clone(&self) -> InMemoryResourceStore
fn clone(&self) -> InMemoryResourceStore
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ProvidesResourceStore for InMemoryResourceStore
impl ProvidesResourceStore for InMemoryResourceStore
fn store(&self) -> &dyn ResourceStore
Auto Trait Implementations§
impl !RefUnwindSafe for InMemoryResourceStore
impl !UnwindSafe for InMemoryResourceStore
impl Freeze for InMemoryResourceStore
impl Send for InMemoryResourceStore
impl Sync for InMemoryResourceStore
impl Unpin for InMemoryResourceStore
impl UnsafeUnpin for InMemoryResourceStore
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ResourceStore for Twhere
T: ProvidesResourceStore,
impl<T> ResourceStore for Twhere
T: ProvidesResourceStore,
Source§fn create_versioned<'life0, 'async_trait>(
&'life0 self,
resource: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn create_versioned<'life0, 'async_trait>(
&'life0 self,
resource: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Create a resource, returning its initial store version alongside it. Read more
Source§fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Delete a resource and all connected associations by its identifier. Read more
Source§fn replace_atomically_versioned<'life0, 'life1, 'async_trait>(
&'life0 self,
delete: &'life1 ResourceIdent,
create: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn replace_atomically_versioned<'life0, 'life1, 'async_trait>(
&'life0 self,
delete: &'life1 ResourceIdent,
create: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
replace_atomically, returning the created
object’s store version alongside it (see create_versioned). Read moreSource§fn update_checked<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
resource: Resource,
precondition: Precondition,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn update_checked<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
resource: Resource,
precondition: Precondition,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Update a resource under an optimistic-concurrency precondition. Read more
Source§fn rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
new_name: &'life2 ResourceName,
precondition: Precondition,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
new_name: &'life2 ResourceName,
precondition: Precondition,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
Rename a resource to a new (possibly namespaced) name. Read more
Source§fn add_association<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
from: &'life1 ResourceIdent,
to: &'life2 ResourceIdent,
label: &'life3 AssociationLabel,
properties: Option<HashMap<String, Value>>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
T: 'async_trait,
fn add_association<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
from: &'life1 ResourceIdent,
to: &'life2 ResourceIdent,
label: &'life3 AssociationLabel,
properties: Option<HashMap<String, Value>>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
T: 'async_trait,
Add an association between two resources. Read more
Source§fn remove_association<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
from: &'life1 ResourceIdent,
to: &'life2 ResourceIdent,
label: &'life3 AssociationLabel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
T: 'async_trait,
fn remove_association<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
from: &'life1 ResourceIdent,
to: &'life2 ResourceIdent,
label: &'life3 AssociationLabel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
T: 'async_trait,
Remove an association between two resources. Read more
Source§fn list_associations<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
resource: &'life1 ResourceIdent,
label: &'life2 AssociationLabel,
target_label: Option<&'life3 ResourceIdent>,
max_results: Option<usize>,
page_token: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<ResourceIdent>, Option<String>), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
T: 'async_trait,
fn list_associations<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
resource: &'life1 ResourceIdent,
label: &'life2 AssociationLabel,
target_label: Option<&'life3 ResourceIdent>,
max_results: Option<usize>,
page_token: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<ResourceIdent>, Option<String>), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
T: 'async_trait,
List associations of a resource. Read more
Source§fn list_associations_with_properties<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
resource: &'life1 ResourceIdent,
label: &'life2 AssociationLabel,
target_label: Option<&'life3 ResourceIdent>,
max_results: Option<usize>,
page_token: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<(ResourceIdent, Option<HashMap<String, Value>>)>, Option<String>), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
T: 'async_trait,
fn list_associations_with_properties<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
resource: &'life1 ResourceIdent,
label: &'life2 AssociationLabel,
target_label: Option<&'life3 ResourceIdent>,
max_results: Option<usize>,
page_token: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<(ResourceIdent, Option<HashMap<String, Value>>)>, Option<String>), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
T: 'async_trait,
List associations of a resource together with each association’s properties. Read more
Source§fn create<'life0, 'async_trait>(
&'life0 self,
resource: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn create<'life0, 'async_trait>(
&'life0 self,
resource: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Create a new resource. Read more
Source§fn replace_atomically<'life0, 'life1, 'async_trait>(
&'life0 self,
delete: &'life1 ResourceIdent,
create: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn replace_atomically<'life0, 'life1, 'async_trait>(
&'life0 self,
delete: &'life1 ResourceIdent,
create: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Atomically delete one resource and create another in one transaction. Read more
Source§fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
resource: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
resource: Resource,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Update a resource unconditionally. Read more
Source§impl<T> ResourceStoreReader for Twhere
T: ProvidesResourceStore,
impl<T> ResourceStoreReader for Twhere
T: ProvidesResourceStore,
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Get a resource by its identifier. Read more
Source§fn get_many<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [ResourceIdent],
) -> Pin<Box<dyn Future<Output = Result<Vec<(Resource, ResourceRef)>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn get_many<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [ResourceIdent],
) -> Pin<Box<dyn Future<Output = Result<Vec<(Resource, ResourceRef)>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Get multiple resources by their identifiers. Read more
Source§fn get_with_secrets<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn get_with_secrets<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Get a resource with its sensitive fields decrypted and merged into the typed model. Read more
Source§fn get_versioned<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn get_versioned<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Get a resource together with its current version (etag). Read more
Source§fn list<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
label: &'life1 ObjectLabel,
namespace: Option<&'life2 ResourceName>,
max_results: Option<usize>,
page_token: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<Resource>, Option<String>), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn list<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
label: &'life1 ObjectLabel,
namespace: Option<&'life2 ResourceName>,
max_results: Option<usize>,
page_token: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<Resource>, Option<String>), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
List resources. Read more