Struct netidx::resolver::ResolverRead[][src]

pub struct ResolverRead(_);

Implementations

impl ResolverRead[src]

pub fn new(default: Config, desired_auth: Auth) -> Self[src]

pub async fn send(
    &self,
    batch: &Pooled<Vec<ToRead>>
) -> Result<Pooled<Vec<FromRead>>>
[src]

send the specified messages to the resolver, and return the answers (in send order)

pub async fn resolve<I>(&self, batch: I) -> Result<Pooled<Vec<Resolved>>> where
    I: IntoIterator<Item = Path>, 
[src]

resolve the specified paths, results are in send order

pub async fn list(&self, path: Path) -> Result<Pooled<Vec<Path>>>[src]

list children of the specified path. Order is unspecified.

pub async fn list_matching(
    &self,
    globset: &GlobSet
) -> Result<Pooled<Vec<Pooled<Vec<Path>>>>>
[src]

list all paths in the cluster matching the specified globset. You will get a list of batches of paths. If your globset is configured to match only published paths, then the batches should be disjoint, otherwise there may be some duplicate structural elements.

pub async fn check_changed(&self, tracker: &mut ChangeTracker) -> Result<bool>[src]

Check whether that have been any changes to the specified path or any of it’s children on any server in the resolver cluster. A change in this context consists of,

  • A new publisher publishing an existing path
  • A publisher publishing a new path
  • A publisher no longer publishing a path

Changes to the value of already published paths is not a change in this context.

This method is meant to be used as a light alternative to list, or list_matching in order to discover when structural changes are made by publishers that result in the need to adjust subscriptions. It is much cheaper and faster to call this method than list or list_matching.

The first call with a new ChangeTracker will always result in true. If true is returned at any point it is not a guarantee that there were changes, but it is a strong possibility. If false is returned it is guaranteed that there was no change.

pub async fn table(&self, path: Path) -> Result<Table>[src]

Trait Implementations

impl Clone for ResolverRead[src]

impl Debug for ResolverRead[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,