Struct remoc_obs::list::MirroredList
source · [−]pub struct MirroredList<T> { /* private fields */ }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
sourceimpl<T> MirroredList<T> where
T: RemoteSend + Clone,
impl<T> MirroredList<T> where
T: RemoteSend + Clone,
sourcepub async fn borrow(&self) -> Result<MirroredListRef<'_, T>, RecvError>
pub async fn borrow(&self) -> Result<MirroredListRef<'_, T>, RecvError>
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.
sourcepub async fn borrow_and_update(
&mut self
) -> Result<MirroredListRef<'_, T>, RecvError>
pub async fn borrow_and_update(
&mut self
) -> Result<MirroredListRef<'_, T>, RecvError>
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.
sourcepub async fn detach(self) -> Vec<T>
pub async fn detach(self) -> Vec<T>
Stops updating the list and returns its current contents.
If clones of this mirrored list exist, the cloned contents are returned.
Trait Implementations
sourceimpl<T: Clone> Clone for MirroredList<T>
impl<T: Clone> Clone for MirroredList<T>
sourcefn clone(&self) -> MirroredList<T>
fn clone(&self) -> MirroredList<T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl<T> Debug for MirroredList<T>
impl<T> Debug for MirroredList<T>
Auto Trait Implementations
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more
