pub struct QueryCache { /* private fields */ }Implementations§
Source§impl QueryCache
impl QueryCache
pub fn new(store: ChunkStoreHandle) -> Self
pub fn new_handle(store: ChunkStoreHandle) -> QueryCacheHandle
pub fn clear(&self)
Source§impl QueryCache
impl QueryCache
Sourcepub fn stats(&self) -> QueryCachesStats
pub fn stats(&self) -> QueryCachesStats
Computes the stats for all primary caches.
Source§impl QueryCache
impl QueryCache
Sourcepub fn latest_all(
&self,
tracking_mode: ChunkTrackingMode,
query: &LatestAtQuery,
entity_path: &EntityPath,
components: impl IntoIterator<Item = ComponentIdentifier>,
) -> LatestAllResults
pub fn latest_all( &self, tracking_mode: ChunkTrackingMode, query: &LatestAtQuery, entity_path: &EntityPath, components: impl IntoIterator<Item = ComponentIdentifier>, ) -> LatestAllResults
Like Self::latest_at, but may return multiple rows for each component,
if those rows were all logged with the exact same TimeInt.
For instance: if you log many transforms to the same entity on the same timestep, only one of them will show up in a latest-at query, but all in a latest-all.
In case of static data, only ONE value will ever be returned. This is because the store only ever keeps the last static value of everything. This, in turn, is because some users log e.g. a video stream as one static image after the other.
Source§impl QueryCache
impl QueryCache
Sourcepub fn latest_at(
&self,
report_mode: ChunkTrackingMode,
query: &LatestAtQuery,
entity_path: &EntityPath,
components: impl IntoIterator<Item = ComponentIdentifier>,
) -> LatestAtResults
pub fn latest_at( &self, report_mode: ChunkTrackingMode, query: &LatestAtQuery, entity_path: &EntityPath, components: impl IntoIterator<Item = ComponentIdentifier>, ) -> LatestAtResults
Queries for the given ComponentIdentifiers using latest-at semantics.
See LatestAtResults for more information about how to handle the results.
This is a cached API – data will be lazily cached upon access.
Sourcepub fn gc(&self, target: GarbageCollectionTarget)
pub fn gc(&self, target: GarbageCollectionTarget)
Free up some RAM by forgetting the older parts of all timelines.
Source§impl QueryCache
impl QueryCache
Sourcepub fn range(
&self,
tracking_mode: ChunkTrackingMode,
query: &RangeQuery,
entity_path: &EntityPath,
components: impl IntoIterator<Item = ComponentIdentifier>,
) -> RangeResults
pub fn range( &self, tracking_mode: ChunkTrackingMode, query: &RangeQuery, entity_path: &EntityPath, components: impl IntoIterator<Item = ComponentIdentifier>, ) -> RangeResults
Queries for the given components using range semantics.
See RangeResults for more information about how to handle the results.
This is a cached API – data will be lazily cached upon access.
The returned chunks preserve the original ChunkIds from the source ChunkStore,
even though re_chunk::Chunk::range internally creates new IDs when slicing.
This is important so that VideoStreamCache can track which physical chunks are in use.
Trait Implementations§
Source§impl ChunkStoreSubscriber for QueryCache
impl ChunkStoreSubscriber for QueryCache
Source§fn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
self: Read moreSource§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
self: Read moreSource§fn on_events(&mut self, events: &[ChunkStoreEvent])
fn on_events(&mut self, events: &[ChunkStoreEvent])
ChunkStores. Read moreSource§impl Debug for QueryCache
impl Debug for QueryCache
Source§impl MemUsageTreeCapture for QueryCache
impl MemUsageTreeCapture for QueryCache
fn capture_mem_usage_tree(&self) -> MemUsageTree
Source§impl SizeBytes for QueryCache
impl SizeBytes for QueryCache
const IS_POD: bool
Source§fn heap_size_bytes(&self) -> u64
fn heap_size_bytes(&self) -> u64
self uses on the heap. Read moreSource§fn total_size_bytes(&self) -> u64
fn total_size_bytes(&self) -> u64
self in bytes, accounting for both stack and heap space.Source§fn stack_size_bytes(&self) -> u64
fn stack_size_bytes(&self) -> u64
self on the stack, in bytes. Read moreAuto Trait Implementations§
impl !Freeze for QueryCache
impl !RefUnwindSafe for QueryCache
impl !UnwindSafe for QueryCache
impl Send for QueryCache
impl Sync for QueryCache
impl Unpin for QueryCache
impl UnsafeUnpin for QueryCache
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<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>
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>
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>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request