Struct remoc_obs::hashmap::MirroredHashMap
source · [−]pub struct MirroredHashMap<K, V, Codec = Default> { /* private fields */ }Expand description
A hash map that is mirroring an observable hash map.
Implementations
sourceimpl<K, V, Codec> MirroredHashMap<K, V, Codec> where
K: RemoteSend + Clone,
V: RemoteSend + Clone,
Codec: Codec,
impl<K, V, Codec> MirroredHashMap<K, V, Codec> where
K: RemoteSend + Clone,
V: RemoteSend + Clone,
Codec: Codec,
sourcepub async fn borrow(&self) -> Result<MirroredHashMapRef<'_, K, V>, RecvError>
pub async fn borrow(&self) -> Result<MirroredHashMapRef<'_, K, V>, RecvError>
Returns a reference to the current value of the hash map.
Updates are paused while the read lock is held.
This method returns an error if the observed hash map has been dropped or the connection to it failed. 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<MirroredHashMapRef<'_, K, V>, RecvError>
pub async fn borrow_and_update(
&mut self
) -> Result<MirroredHashMapRef<'_, K, V>, RecvError>
Returns a reference to the current value of the hash map 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 hash map has been dropped or the connection to it failed. In this case the mirrored contents at the point of loss of connection can be obtained using detach.
sourcepub async fn detach(self) -> HashMap<K, V>
pub async fn detach(self) -> HashMap<K, V>
Stops updating the hash map and returns its current contents.
Trait Implementations
sourceimpl<K, V, Codec> Debug for MirroredHashMap<K, V, Codec>
impl<K, V, Codec> Debug for MirroredHashMap<K, V, Codec>
Auto Trait Implementations
impl<K, V, Codec = Default> !RefUnwindSafe for MirroredHashMap<K, V, Codec>
impl<K, V, Codec> Send for MirroredHashMap<K, V, Codec> where
Codec: Send,
K: Send + Sync,
V: Send + Sync,
impl<K, V, Codec> Sync for MirroredHashMap<K, V, Codec> where
Codec: Send,
K: Send + Sync,
V: Send + Sync,
impl<K, V, Codec> Unpin for MirroredHashMap<K, V, Codec>
impl<K, V, Codec = Default> !UnwindSafe for MirroredHashMap<K, V, Codec>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub 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