HashMapSubscription

Struct HashMapSubscription 

Source
pub struct HashMapSubscription<K, V, Codec = Default> { /* private fields */ }
👎Deprecated: remoc-obs has been integrated into remoc as module remoc::robs. Please update your references.
Expand description

Observable hash map subscription.

This can be sent to a remote endpoint via a remote channel. Then, on the remote endpoint, mirror can be used to build and keep up-to-date a mirror of the observed hash map.

The event stream can also be processed event-wise using recv. If the subscription is not incremental take_initial must be called before the first call to recv.

Implementations§

Source§

impl<K, V, Codec> HashMapSubscription<K, V, Codec>
where K: RemoteSend + Eq + Hash + Clone, V: RemoteSend + Clone, Codec: Codec,

Source

pub fn is_incremental(&self) -> bool

👎Deprecated: remoc-obs has been integrated into remoc as module remoc::robs. Please update your references.

Returns whether the subscription is incremental.

Source

pub fn is_complete(&self) -> bool

👎Deprecated: remoc-obs has been integrated into remoc as module remoc::robs. Please update your references.

Returns whether the initial value event or stream of events that build up the initial value has completed or take_initial has been called.

Source

pub fn is_done(&self) -> bool

👎Deprecated: remoc-obs has been integrated into remoc as module remoc::robs. Please update your references.

Returns whether the observed hash map has indicated that no further change events will occur.

Source

pub fn take_initial(&mut self) -> Option<HashMap<K, V>>

👎Deprecated: remoc-obs has been integrated into remoc as module remoc::robs. Please update your references.

Take the initial value.

This is only possible if the subscription is not incremental and the initial value has not already been taken. Otherwise None is returned.

If the subscription is not incremental this must be called before the first call to recv.

Source

pub async fn recv(&mut self) -> Result<Option<HashMapEvent<K, V>>, RecvError>

👎Deprecated: remoc-obs has been integrated into remoc as module remoc::robs. Please update your references.

Receives the next change event.

§Panics

Panics when the subscription is not incremental and take_initial has not been called.

Source§

impl<K, V, Codec> HashMapSubscription<K, V, Codec>
where K: RemoteSend + Eq + Hash + Clone + Sync, V: RemoteSend + Clone + Sync, Codec: Codec,

Source

pub fn mirror(self, max_size: usize) -> MirroredHashMap<K, V, Codec>

👎Deprecated: remoc-obs has been integrated into remoc as module remoc::robs. Please update your references.

Mirror the hash map that this subscription is observing.

max_size specifies the maximum allowed size of the mirrored collection. If this size is reached, processing of events is stopped and RecvError::MaxSizeExceeded is returned.

Trait Implementations§

Source§

impl<K: Debug, V: Debug, Codec: Debug> Debug for HashMapSubscription<K, V, Codec>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'de, K, V, Codec> Deserialize<'de> for HashMapSubscription<K, V, Codec>
where K: RemoteSend + Eq + Hash, V: RemoteSend, Codec: Codec,

Source§

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<K, V, Codec> Serialize for HashMapSubscription<K, V, Codec>
where K: RemoteSend + Eq + Hash, V: RemoteSend, Codec: Codec,

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<K, V, Codec = Default> !Freeze for HashMapSubscription<K, V, Codec>

§

impl<K, V, Codec = Default> !RefUnwindSafe for HashMapSubscription<K, V, Codec>

§

impl<K, V, Codec> Send for HashMapSubscription<K, V, Codec>
where Codec: Send, K: Send, V: Send,

§

impl<K, V, Codec> Sync for HashMapSubscription<K, V, Codec>
where Codec: Sync, K: Sync + Send, V: Sync + Send,

§

impl<K, V, Codec> Unpin for HashMapSubscription<K, V, Codec>
where K: Unpin, V: Unpin,

§

impl<K, V, Codec = Default> !UnwindSafe for HashMapSubscription<K, V, Codec>

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> 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, 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.
Source§

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

Source§

fn vzip(self) -> V

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> RemoteSend for T
where T: Send + Serialize + DeserializeOwned + 'static,