Struct holochain_types::db_cache::DhtDbQueryCache
source · pub struct DhtDbQueryCache { /* private fields */ }
Expand description
This cache allows us to track selected database queries that are too slow to run frequently. The queries are lazily evaluated and cached. Then the cache is updated in memory without needing to go to the database.
Implementations§
source§impl DhtDbQueryCache
impl DhtDbQueryCache
sourcepub async fn get_state(
&self
) -> &RwShare<HashMap<Arc<AgentPubKey>, ActivityState>>
pub async fn get_state( &self ) -> &RwShare<HashMap<Arc<AgentPubKey>, ActivityState>>
Get the caches internal state for testing.
source§impl DhtDbQueryCache
impl DhtDbQueryCache
sourcepub async fn get_activity_to_integrate(
&self
) -> DatabaseResult<Vec<(Arc<AgentPubKey>, RangeInclusive<u32>)>>
pub async fn get_activity_to_integrate( &self ) -> DatabaseResult<Vec<(Arc<AgentPubKey>, RangeInclusive<u32>)>>
Get any activity that is ready to be integrated. This returns a range of activity that is ready to be integrated for each agent.
sourcepub async fn is_chain_empty(&self, author: &AgentPubKey) -> DatabaseResult<bool>
pub async fn is_chain_empty(&self, author: &AgentPubKey) -> DatabaseResult<bool>
Is the SourceChain empty for this AgentPubKey
?
sourcepub async fn set_all_activity_to_integrated(
&self,
integrated_activity: Vec<(Arc<AgentPubKey>, RangeInclusive<u32>)>
) -> DbCacheResult<()>
pub async fn set_all_activity_to_integrated( &self, integrated_activity: Vec<(Arc<AgentPubKey>, RangeInclusive<u32>)> ) -> DbCacheResult<()>
Mark agent activity as actually integrated.
sourcepub async fn set_activity_ready_to_integrate(
&self,
agent: &AgentPubKey,
action_sequence: u32
) -> DbCacheResult<()>
pub async fn set_activity_ready_to_integrate( &self, agent: &AgentPubKey, action_sequence: u32 ) -> DbCacheResult<()>
Set activity to ready to integrate.
sourcepub async fn set_activity_to_integrated(
&self,
agent: &AgentPubKey,
action_sequence: u32
) -> DbCacheResult<()>
pub async fn set_activity_to_integrated( &self, agent: &AgentPubKey, action_sequence: u32 ) -> DbCacheResult<()>
Set activity to to integrated.
Trait Implementations§
source§impl Clone for DhtDbQueryCache
impl Clone for DhtDbQueryCache
source§fn clone(&self) -> DhtDbQueryCache
fn clone(&self) -> DhtDbQueryCache
Returns a copy 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 moreAuto Trait Implementations§
impl !RefUnwindSafe for DhtDbQueryCache
impl Send for DhtDbQueryCache
impl Sync for DhtDbQueryCache
impl Unpin for DhtDbQueryCache
impl !UnwindSafe for DhtDbQueryCache
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
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> 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>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.§impl<T> Upcastable for Twhere
T: Any + Send + Sync + 'static,
impl<T> Upcastable for Twhere T: Any + Send + Sync + 'static,
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref