Struct syndicate::skeleton::Index

source ·
pub struct Index { /* private fields */ }
Expand description

Index of assertions and Observers.

Generally speaking, you will not need to use this structure; instead, create Dataspace entities.

Implementations§

source§

impl Index

source

pub fn new() -> Self

Construct a new Index.

source

pub fn add_observer( &mut self, t: &mut Activation, pat: &Pattern, observer: &Arc<Cap> )

Adds a new observer. If any existing assertions in the index match pat, establishes corresponding assertions at observer. Once the observer is registered, subsequent arriving assertions will be matched against pat and delivered to observer if they match.

source

pub fn remove_observer( &mut self, t: &mut Activation, pat: Pattern, observer: &Arc<Cap> )

Removes an existing observer.

source

pub fn insert(&mut self, t: &mut Activation, outer_value: &AnyValue) -> bool

Inserts an assertion into the index, notifying matching observers. Answers true iff the assertion was new to the dataspace.

source

pub fn remove(&mut self, t: &mut Activation, outer_value: &AnyValue) -> bool

Removes an assertion from the index, notifying matching observers. Answers true if it is the last in its equivalence class to be removed.

source

pub fn send(&mut self, t: &mut Activation, outer_value: &AnyValue)

Routes a message using the index, notifying matching observers.

source

pub fn assertion_count(&self) -> usize

Retrieves the current count of distinct assertions in the index.

source

pub fn endpoint_count(&self) -> isize

Retrieves the current count of assertions in the index, including duplicates.

source

pub fn observer_count(&self) -> usize

Retrieves the current count of observers of the index.

Trait Implementations§

source§

impl Debug for Index

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Index

§

impl Send for Index

§

impl Sync for Index

§

impl Unpin for Index

§

impl !UnwindSafe for Index

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<L, N> Codec<N> for L
where N: NestedValue,

source§

fn parse<'a, T>(&'a self, value: &N) -> Result<T, ParseError>
where T: Parse<&'a L, N>,

Delegates to T::parse, using self as language and the given value as input.
source§

fn unparse<'a, T>(&'a self, value: &T) -> N
where T: Unparse<&'a L, N>,

Delegates to value.unparse, using self as language.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more