Enum corundum::stm::Notifier[][src]

pub enum Notifier<A: MemPool> {
    Atomic(Ptr<u8, A>),
    NonAtomic(Ptr<u8, A>),
    None,
}

A data-log notification type

This is used to notify the owner that the underlying data is logged, so that theres is no need for further log taking. This is done by updating a flag of type u8 which is a part of the owner’s structure. The Notifier object keeps a pointer to the flag and updates it accordingly. The pointer is persistent meaning that it remains valid after restart of crash.

Variants

Atomic(Ptr<u8, A>)

Atomically update the log flag

NonAtomic(Ptr<u8, A>)

Non-atomically update the flag

None

There is no log flag

Implementations

impl<A: MemPool> Notifier<A>[src]

pub fn update(&mut self, v: u8)[src]

Update the owner’s flag

pub fn off(&self) -> u64[src]

Returns the offset of the log flag in the pool.

The notifier contains a pointer to the flag which is a part of the owner construct. If there is no specified flag, it returns u64::MAX.

Trait Implementations

impl<A: MemPool> Clone for Notifier<A>[src]

impl<A: MemPool> Copy for Notifier<A>[src]

impl<A: Eq + MemPool> Eq for Notifier<A>[src]

impl<A: PartialEq + MemPool> PartialEq<Notifier<A>> for Notifier<A>[src]

impl<A: MemPool> StructuralEq for Notifier<A>[src]

impl<A: MemPool> StructuralPartialEq for Notifier<A>[src]

Auto Trait Implementations

impl<A> LooseTxInUnsafe for Notifier<A> where
    A: LooseTxInUnsafe

impl<A> PSafe for Notifier<A>

impl<A> PSend for Notifier<A> where
    A: PSend

impl<A> RefUnwindSafe for Notifier<A> where
    A: RefUnwindSafe

impl<A> !Send for Notifier<A>

impl<A> !Sync for Notifier<A>

impl<A> TxInSafe for Notifier<A> where
    A: TxInSafe

impl<A> !TxOutSafe for Notifier<A>

impl<A> Unpin for Notifier<A> where
    A: Unpin

impl<A> UnwindSafe for Notifier<A> where
    A: UnwindSafe

impl<A> VSafe for Notifier<A> where
    A: VSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,