MirroredList

Struct MirroredList 

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

An append-only list that is mirroring an observable append-only list.

Clones of this are cheap and share the same underlying mirrored list.

Implementations§

Source§

impl<T> MirroredList<T>
where T: RemoteSend + Clone,

Source

pub async fn borrow(&self) -> Result<MirroredListRef<'_, 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 list.

Updates are paused while the read lock is held.

This method returns an error if the observed list has been dropped or the connection to it failed before it was marked as done by calling ObservableList::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<MirroredListRef<'_, 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 list 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 list has been dropped or the connection to it failed before it was marked as done by calling ObservableList::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 list and returns its current contents.

If clones of this mirrored list exist, the cloned contents are returned.

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 (append of one or more elements) and marks the newest value as seen.

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

Source

pub async fn done(&mut self) -> Result<(), RecvError>

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

Waits for the observed list to be marked as done and for all elements to be received by this mirror of it.

This marks changes as seen, even when aborted.

Trait Implementations§

Source§

impl<T: Clone> Clone for MirroredList<T>

Source§

fn clone(&self) -> MirroredList<T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for MirroredList<T>

Source§

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

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

impl<T> Drop for MirroredList<T>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<T> Freeze for MirroredList<T>

§

impl<T> !RefUnwindSafe for MirroredList<T>

§

impl<T> Send for MirroredList<T>
where T: Send + Sync,

§

impl<T> Sync for MirroredList<T>
where T: Send + Sync,

§

impl<T> Unpin for MirroredList<T>

§

impl<T> !UnwindSafe for MirroredList<T>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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