Skip to main content

AsyncProximityMap

Struct AsyncProximityMap 

Source
pub struct AsyncProximityMap<S: AsyncStore> { /* private fields */ }

Implementations§

Source§

impl<S> AsyncProximityMap<S>
where S: AsyncStore + Clone, S::Error: Send + Sync,

Source

pub async fn build( store: S, config: ProximityConfig, records: impl IntoIterator<Item = ProximityRecord>, ) -> Result<Self, Error>

Build and publish a canonical proximity map directly through AsyncStore.

Source

pub async fn build_with_parallelism( store: S, config: ProximityConfig, records: impl IntoIterator<Item = ProximityRecord>, parallelism: BuildParallelism, ) -> Result<(Self, ProximityBuildStats), Error>

Build through AsyncStore with an explicit deterministic CPU worker limit.

Source

pub async fn build_with_options( store: S, config: ProximityConfig, records: impl IntoIterator<Item = ProximityRecord>, options: AsyncProximityBuildOptions, ) -> Result<(Self, ProximityBuildStats), Error>

Build with explicit memory, record, CPU, and provider batch limits.

Source

pub fn clear_content_cache(&self)

Clear retained ordered-directory nodes. Search-runtime caches are owned separately.

Source

pub async fn read(&self) -> Result<AsyncProximityReadSession<'_, S>, Error>

Source

pub async fn get( &self, key: &[u8], ) -> Result<Option<ExactProximityRecord>, Error>

Source

pub async fn get_with<R>( &self, key: &[u8], read: impl for<'record> FnOnce(ProximityRecordRef<'record>) -> R, ) -> Result<Option<R>, Error>

Source

pub async fn contains_key(&self, key: &[u8]) -> Result<bool, Error>

Source

pub async fn scan_records( &self, visit: impl for<'record> FnMut(&[u8], ProximityRecordRef<'record>), ) -> Result<u64, Error>

Source

pub async fn scan_records_until<B>( &self, visit: impl for<'record> FnMut(&[u8], ProximityRecordRef<'record>) -> ControlFlow<B>, ) -> Result<ScanOutcome<B>, Error>

Source

pub async fn scan_records_range_until<B>( &self, start: &[u8], end: Option<&[u8]>, visit: impl for<'record> FnMut(&[u8], ProximityRecordRef<'record>) -> ControlFlow<B>, ) -> Result<ScanOutcome<B>, Error>

Source

pub async fn rebuild_batch( &self, mutations: impl IntoIterator<Item = ProximityMutation>, ) -> Result<Self, Error>

Apply mutations through a clean canonical rebuild oracle.

Source

pub async fn mutate_batch( &self, mutations: impl IntoIterator<Item = ProximityMutation>, ) -> Result<(Self, ProximityMutationStats), Error>

Canonically mutate the exact directory and rebuild derived routing only when vectors change.

Source

pub async fn prove_membership( &self, key: &[u8], ) -> Result<ProximityMembershipProof, Error>

Prove exact presence or absence through the asynchronous directory engine.

Source

pub async fn prove_structure( &self, limits: &ContentGraphLimits, ) -> Result<ProximityStructuralProof, Error>

Capture the authenticated typed closure through AsyncStore.

Prove deterministic native search execution directly from an async store.

Deadline and cancellation controls are intentionally excluded because their completion point depends on wall-clock state and cannot be replayed.

Source

pub async fn verify(&self) -> Result<ProximityVerification, Error>

Traverse and validate the async descriptor, directory, hierarchy, and routing invariants.

Source§

impl<S> AsyncProximityMap<SearchIo<S>>
where S: AsyncStore + Clone, S::Error: Send + Sync,

Source

pub async fn load_with_runtime( store: S, descriptor: Cid, runtime: Arc<SearchRuntime>, ) -> Result<Self, Error>

Load a proximity map with a shared authenticated I/O runtime.

Decoder context is derived from the authenticated descriptor so callers cannot accidentally disable validated PRXN cache admission.

Source

pub async fn load_with_search_io( io: SearchIo<S>, descriptor: Cid, ) -> Result<Self, Error>

Load through an existing shared-runtime binding while preserving its cache namespace and counters across map reopen operations.

Source

pub async fn search_with_runtime( &self, request: SearchRequest<'_>, control: AsyncSearchControl, ) -> Result<SearchResult, Error>

Execute native async search with physical I/O derived from the shared runtime rather than from logical object consumption.

Source

pub async fn search_with_accelerators( &self, accelerators: &AsyncAcceleratorSet, request: SearchRequest<'_>, control: AsyncSearchControl, ) -> Result<SearchResult, Error>

Plan and execute native, eligible-exact, PQ, or HNSW search through an async-only store using the same logical planner as synchronous search.

Source§

impl<S> AsyncProximityMap<S>
where S: AsyncStore + Clone, S::Error: Send + Sync,

Source

pub async fn load(store: S, descriptor_cid: Cid) -> Result<Self, Error>

Source

pub fn tree(&self) -> &ProximityTree

Source

pub async fn search( &self, request: SearchRequest<'_>, control: AsyncSearchControl, ) -> Result<SearchResult, Error>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.