pub struct MemoryMediaStore { /* private fields */ }
Expand description
In-memory, non-persistent implementation of the MediaStore
.
Default if no other is configured at startup.
Implementations§
Source§impl MemoryMediaStore
impl MemoryMediaStore
Sourcepub fn new() -> MemoryMediaStore
pub fn new() -> MemoryMediaStore
Create a new empty MemoryMediaStore
Trait Implementations§
Source§impl Clone for MemoryMediaStore
impl Clone for MemoryMediaStore
Source§fn clone(&self) -> MemoryMediaStore
fn clone(&self) -> MemoryMediaStore
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 Debug for MemoryMediaStore
impl Debug for MemoryMediaStore
Source§impl Default for MemoryMediaStore
impl Default for MemoryMediaStore
Source§fn default() -> MemoryMediaStore
fn default() -> MemoryMediaStore
Returns the “default value” for a type. Read more
Source§impl MediaStore for MemoryMediaStore
impl MediaStore for MemoryMediaStore
Source§type Error = MediaStoreError
type Error = MediaStoreError
The error type used by this media store.
Source§fn try_take_leased_lock<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
lease_duration_ms: u32,
key: &'life1 str,
holder: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
MemoryMediaStore: 'async_trait,
fn try_take_leased_lock<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
lease_duration_ms: u32,
key: &'life1 str,
holder: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
MemoryMediaStore: 'async_trait,
Try to take a lock using the given store.
Source§fn add_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
data: Vec<u8>,
ignore_policy: IgnoreMediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn add_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
data: Vec<u8>,
ignore_policy: IgnoreMediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Add a media file’s content in the media store. Read more
Source§fn replace_media_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 MediaRequestParameters,
to: &'life2 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
MemoryMediaStore: 'async_trait,
fn replace_media_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 MediaRequestParameters,
to: &'life2 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
MemoryMediaStore: 'async_trait,
Replaces the given media’s content key with another one. Read more
Source§fn get_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn get_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Get a media file’s content out of the media store. Read more
Source§fn remove_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn remove_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Remove a media file’s content from the media store. Read more
Source§fn get_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn get_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Get a media file’s content associated to an
MxcUri
from the
media store. Read moreSource§fn remove_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn remove_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Remove all the media files’ content associated to an
MxcUri
from the
media store. Read moreSource§fn set_media_retention_policy<'life0, 'async_trait>(
&'life0 self,
policy: MediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
fn set_media_retention_policy<'life0, 'async_trait>(
&'life0 self,
policy: MediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
Set the
MediaRetentionPolicy
to use for deciding whether to store or
keep media content. Read moreSource§fn media_retention_policy(&self) -> MediaRetentionPolicy
fn media_retention_policy(&self) -> MediaRetentionPolicy
Get the current
MediaRetentionPolicy
.Source§fn set_ignore_media_retention_policy<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
ignore_policy: IgnoreMediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn set_ignore_media_retention_policy<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
ignore_policy: IgnoreMediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Set whether the current
MediaRetentionPolicy
should be ignored for
the media. Read moreSource§fn clean<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
fn clean<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
Clean up the media cache with the current
MediaRetentionPolicy
. Read moreSource§impl MediaStoreInner for MemoryMediaStore
impl MediaStoreInner for MemoryMediaStore
Source§type Error = MediaStoreError
type Error = MediaStoreError
The error type used by this media cache store.
Source§fn media_retention_policy_inner<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<MediaRetentionPolicy>, <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
fn media_retention_policy_inner<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<MediaRetentionPolicy>, <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
The persisted media retention policy in the media cache.
Source§fn set_media_retention_policy_inner<'life0, 'async_trait>(
&'life0 self,
policy: MediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
fn set_media_retention_policy_inner<'life0, 'async_trait>(
&'life0 self,
policy: MediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
Persist the media retention policy in the media cache. Read more
Source§fn add_media_content_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
data: Vec<u8>,
last_access: SystemTime,
policy: MediaRetentionPolicy,
ignore_policy: IgnoreMediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn add_media_content_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
data: Vec<u8>,
last_access: SystemTime,
policy: MediaRetentionPolicy,
ignore_policy: IgnoreMediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Add a media file’s content in the media cache. Read more
Source§fn set_ignore_media_retention_policy_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
ignore_policy: IgnoreMediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn set_ignore_media_retention_policy_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
ignore_policy: IgnoreMediaRetentionPolicy,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Set whether the current
MediaRetentionPolicy
should be ignored for
the media. Read moreSource§fn get_media_content_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
current_time: SystemTime,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn get_media_content_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
current_time: SystemTime,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Get a media file’s content out of the media cache. Read more
Source§fn get_media_content_for_uri_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
expected_uri: &'life1 MxcUri,
current_time: SystemTime,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
fn get_media_content_for_uri_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
expected_uri: &'life1 MxcUri,
current_time: SystemTime,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
MemoryMediaStore: 'async_trait,
Get a media file’s content associated to an
MxcUri
from the
media store. Read moreSource§fn clean_inner<'life0, 'async_trait>(
&'life0 self,
policy: MediaRetentionPolicy,
current_time: SystemTime,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
fn clean_inner<'life0, 'async_trait>(
&'life0 self,
policy: MediaRetentionPolicy,
current_time: SystemTime,
) -> Pin<Box<dyn Future<Output = Result<(), <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
Clean up the media cache with the given policy. Read more
Source§fn last_media_cleanup_time_inner<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<SystemTime>, <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
fn last_media_cleanup_time_inner<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<SystemTime>, <MemoryMediaStore as MediaStoreInner>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryMediaStore: 'async_trait,
The time of the last media cache cleanup.
Auto Trait Implementations§
impl Freeze for MemoryMediaStore
impl !RefUnwindSafe for MemoryMediaStore
impl Send for MemoryMediaStore
impl Sync for MemoryMediaStore
impl Unpin for MemoryMediaStore
impl !UnwindSafe for MemoryMediaStore
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,
§impl<T> CompatExt for T
impl<T> CompatExt for T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<>
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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> IntoMediaStore for Twhere
T: MediaStore + 'static,
impl<T> IntoMediaStore for Twhere
T: MediaStore + 'static,
fn into_media_store(self) -> Arc<dyn MediaStore<Error = MediaStoreError>>
Source§impl<Store> MediaStoreInnerIntegrationTests for Storewhere
Store: MediaStoreInner + Debug,
impl<Store> MediaStoreInnerIntegrationTests for Storewhere
Store: MediaStoreInner + Debug,
Source§async fn test_store_media_retention_policy(&self)
async fn test_store_media_retention_policy(&self)
Test media retention policy storage.
Source§async fn test_media_max_file_size(&self)
async fn test_media_max_file_size(&self)
Test media content’s retention policy max file size.
Source§async fn test_media_max_cache_size(&self)
async fn test_media_max_cache_size(&self)
Test media content’s retention policy max cache size.
Source§async fn test_media_expiry(&self)
async fn test_media_expiry(&self)
Test media content’s retention policy expiry.
Source§async fn test_media_ignore_max_size(&self)
async fn test_media_ignore_max_size(&self)
Test
IgnoreMediaRetentionPolicy
with the media content’s retention
policy max sizes.Source§async fn test_media_ignore_expiry(&self)
async fn test_media_ignore_expiry(&self)
Test
IgnoreMediaRetentionPolicy
with the media content’s retention
policy expiry.Source§async fn test_store_last_media_cleanup_time(&self)
async fn test_store_last_media_cleanup_time(&self)
Test last media cleanup time storage.
Source§impl<Store> MediaStoreIntegrationTests for Storewhere
Store: MediaStore + Debug,
impl<Store> MediaStoreIntegrationTests for Storewhere
Store: MediaStore + Debug,
Source§async fn test_media_content(&self)
async fn test_media_content(&self)
Test media content storage.
Source§async fn test_replace_media_key(&self)
async fn test_replace_media_key(&self)
Test replacing a MXID.