pub struct CompressedSearchPath<P> { /* private fields */ }Expand description
A search path annotated with compression context.
When a query enters the semantic-memory runtime, it may carry compressed
index artifacts (e.g. turbo-quant polar codes or fib-quant radial sketches).
CompressedSearchPath wraps the raw search path + the codec metadata needed
to route the query correctly.
§Type parameters
P— the underlying search path type (e.g.Vec<NamespaceId>,ScopeFilter, etc.) must beSend + Syncso the wrapper can be used across async boundaries.
Implementations§
Source§impl<P> CompressedSearchPath<P>
impl<P> CompressedSearchPath<P>
Sourcepub fn new(path: P, codec_id: CodecId) -> Self
pub fn new(path: P, codec_id: CodecId) -> Self
Wrap an existing search path with compression context.
Sourcepub fn produced_at(self, ts: DateTime<Utc>) -> Self
pub fn produced_at(self, ts: DateTime<Utc>) -> Self
Set the produced_at timestamp.
Sourcepub fn provenance_label(self, label: impl Into<String>) -> Self
pub fn provenance_label(self, label: impl Into<String>) -> Self
Set the provenance label.
Sourcepub fn require_exact(self) -> Self
pub fn require_exact(self) -> Self
Disallow approximate decode — require exact fallback on every decode.
Sourcepub fn approximate_allowed(&self) -> bool
pub fn approximate_allowed(&self) -> bool
Returns true if approximate decode is allowed on this path.
Sourcepub fn requires_exact_fallback(&self) -> bool
pub fn requires_exact_fallback(&self) -> bool
Returns true if this path requires an exact fallback decode.
Sourcepub fn map_path<Q, F>(self, f: F) -> CompressedSearchPath<Q>where
F: FnOnce(P) -> Q,
pub fn map_path<Q, F>(self, f: F) -> CompressedSearchPath<Q>where
F: FnOnce(P) -> Q,
Map the inner path type using f.
This allows transforming the wrapped path type without touching the compression metadata.
Trait Implementations§
Source§impl<P: Clone> Clone for CompressedSearchPath<P>
impl<P: Clone> Clone for CompressedSearchPath<P>
Source§fn clone(&self) -> CompressedSearchPath<P>
fn clone(&self) -> CompressedSearchPath<P>
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<P: Debug> Debug for CompressedSearchPath<P>
impl<P: Debug> Debug for CompressedSearchPath<P>
Source§impl<'de, P> Deserialize<'de> for CompressedSearchPath<P>where
P: Deserialize<'de>,
impl<'de, P> Deserialize<'de> for CompressedSearchPath<P>where
P: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<P> Display for CompressedSearchPath<P>where
P: Debug,
impl<P> Display for CompressedSearchPath<P>where
P: Debug,
Auto Trait Implementations§
impl<P> Freeze for CompressedSearchPath<P>where
P: Freeze,
impl<P> RefUnwindSafe for CompressedSearchPath<P>where
P: RefUnwindSafe,
impl<P> Send for CompressedSearchPath<P>where
P: Send,
impl<P> Sync for CompressedSearchPath<P>where
P: Sync,
impl<P> Unpin for CompressedSearchPath<P>where
P: Unpin,
impl<P> UnsafeUnpin for CompressedSearchPath<P>where
P: UnsafeUnpin,
impl<P> UnwindSafe for CompressedSearchPath<P>where
P: UnwindSafe,
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,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§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 moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§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 moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.