VecSubscription

Struct VecSubscription 

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

Observable vector 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 vector.

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<T, Codec> VecSubscription<T, Codec>
where T: 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 vector has indicated that no further change events will occur.

Source

pub fn take_initial(&mut self) -> Option<Vec<T>>

👎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<VecEvent<T>>, 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<T, Codec> VecSubscription<T, Codec>
where T: RemoteSend + Clone + Sync, Codec: Codec,

Source

pub fn mirror(self, max_size: usize) -> MirroredVec<T, Codec>

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

Mirror the vector 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<T: Debug, Codec: Debug> Debug for VecSubscription<T, Codec>

Source§

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

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

impl<'de, T, Codec> Deserialize<'de> for VecSubscription<T, Codec>
where T: 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<T, Codec> Serialize for VecSubscription<T, Codec>
where T: 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<T, Codec = Default> !Freeze for VecSubscription<T, Codec>

§

impl<T, Codec = Default> !RefUnwindSafe for VecSubscription<T, Codec>

§

impl<T, Codec> Send for VecSubscription<T, Codec>
where Codec: Send, T: Send,

§

impl<T, Codec> Sync for VecSubscription<T, Codec>
where Codec: Sync, T: Sync + Send,

§

impl<T, Codec> Unpin for VecSubscription<T, Codec>
where T: Unpin,

§

impl<T, Codec = Default> !UnwindSafe for VecSubscription<T, 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,