pub struct ReactiveMapCore<K, V> {
pub interceptors_any: Arc<Mutex<Vec<(u64, InterceptorAny<K, V>)>>>,
pub interceptors_key: Arc<Mutex<HashMap<K, Vec<(u64, InterceptorKey<K, V>)>>>>,
pub subscribers_any: Arc<Mutex<Vec<(u64, SubscriberAny<K, V>, SubscriptionMeta)>>>,
pub subscribers_key: Arc<Mutex<HashMap<K, Vec<(u64, SubscriberKey<K, V>, SubscriptionMeta)>>>>,
pub next_id: Arc<AtomicU64>,
pub intercept_depth: Arc<AtomicUsize>,
pub cache: Arc<Mutex<HashMap<K, V>>>,
}Fields§
§interceptors_any: Arc<Mutex<Vec<(u64, InterceptorAny<K, V>)>>>§interceptors_key: Arc<Mutex<HashMap<K, Vec<(u64, InterceptorKey<K, V>)>>>>§subscribers_any: Arc<Mutex<Vec<(u64, SubscriberAny<K, V>, SubscriptionMeta)>>>§subscribers_key: Arc<Mutex<HashMap<K, Vec<(u64, SubscriberKey<K, V>, SubscriptionMeta)>>>>§next_id: Arc<AtomicU64>§intercept_depth: Arc<AtomicUsize>§cache: Arc<Mutex<HashMap<K, V>>>Implementations§
Source§impl<K: ReactiveMapKey, V: ReactiveMapValue> ReactiveMapCore<K, V>
impl<K: ReactiveMapKey, V: ReactiveMapValue> ReactiveMapCore<K, V>
pub fn new() -> Self
pub fn subscribe_any<F>(&self, callback: F) -> SignalSubscription
pub fn subscribe_key<F>(&self, key: K, callback: F) -> SignalSubscription
pub fn intercept<F>(&self, path: Arc<str>, callback: F) -> InterceptDisposer
pub fn intercept_key<F>(&self, key: K, callback: F) -> InterceptDisposer
pub fn run_interceptors( &self, path: Arc<str>, change: MapChange<K, V>, ) -> Result<MapChange<K, V>, String>
pub fn notify(&self, change: &MapChange<K, V>)
Trait Implementations§
Source§impl<K, V> Clone for ReactiveMapCore<K, V>
impl<K, V> Clone for ReactiveMapCore<K, V>
Source§impl<K: ReactiveMapKey, V: ReactiveMapValue> Default for ReactiveMapCore<K, V>
impl<K: ReactiveMapKey, V: ReactiveMapValue> Default for ReactiveMapCore<K, V>
Auto Trait Implementations§
impl<K, V> Freeze for ReactiveMapCore<K, V>
impl<K, V> RefUnwindSafe for ReactiveMapCore<K, V>
impl<K, V> Send for ReactiveMapCore<K, V>
impl<K, V> Sync for ReactiveMapCore<K, V>
impl<K, V> Unpin for ReactiveMapCore<K, V>
impl<K, V> UnsafeUnpin for ReactiveMapCore<K, V>
impl<K, V> UnwindSafe for ReactiveMapCore<K, V>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more