MirroredVec

Struct MirroredVec 

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

A vector that is mirroring an observable vector.

Implementations§

Source§

impl<T, Codec> MirroredVec<T, Codec>
where T: RemoteSend + Clone, Codec: Codec,

Source

pub async fn borrow(&self) -> Result<MirroredVecRef<'_, T>, RecvError>

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

Returns a reference to the current value of the vector.

Updates are paused while the read lock is held.

This method returns an error if the observed vector has been dropped or the connection to it failed before it was marked as done by calling ObservableVec::done. In this case the mirrored contents at the point of loss of connection can be obtained using detach.

Source

pub async fn borrow_and_update( &mut self, ) -> Result<MirroredVecRef<'_, T>, RecvError>

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

Returns a reference to the current value of the vector and marks it as seen.

Thus changed will not return immediately until the value changes after this method returns.

Updates are paused while the read lock is held.

This method returns an error if the observed vector has been dropped or the connection to it failed before it was marked as done by calling ObservableVec::done. In this case the mirrored contents at the point of loss of connection can be obtained using detach.

Source

pub async fn detach(self) -> Vec<T>

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

Stops updating the vector and returns its current contents.

Source

pub async fn changed(&mut self)

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

Waits for a change and marks the newest value as seen.

This also returns when connection to the observed vector has been lost or the vector has been marked as done.

Source

pub async fn subscribe( &self, buffer: usize, ) -> Result<VecSubscription<T, Codec>, RecvError>

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

Subscribes to change events from this mirrored vector.

The current contents of the vector is included with the subscription.

buffer specifies the maximum size of the event buffer for this subscription in number of events. If it is exceeded the subscription is shed and the receiver gets a RecvError::Lagged.

Source

pub async fn subscribe_incremental( &self, buffer: usize, ) -> Result<VecSubscription<T, Codec>, RecvError>

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

Subscribes to change events from this mirrored vector with incremental sending of the current contents.

The current contents of the vector are sent incrementally.

buffer specifies the maximum size of the event buffer for this subscription in number of events. If it is exceeded the subscription is shed and the receiver gets a RecvError::Lagged.

Trait Implementations§

Source§

impl<T, Codec> Debug for MirroredVec<T, Codec>

Source§

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

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

impl<T, Codec> Drop for MirroredVec<T, Codec>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<T, Codec> Freeze for MirroredVec<T, Codec>

§

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

§

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

§

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

§

impl<T, Codec> Unpin for MirroredVec<T, Codec>

§

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