[][src]Struct yaque::RecvGuard

pub struct RecvGuard<'a, T> { /* fields omitted */ }

A guard that will only log changes on the queue state when dropped.

If it is dropped in a thread that is panicking, no chage will be logged, allowing for the items to be consumed when a new instance recovers. This allows transactional use of the queue.

This struct implements Deref and DerefMut. If you realy, realy want ownership, there is RecvGuard::into_inner, but be careful.

Implementations

impl<'a, T> RecvGuard<'a, T>[src]

pub fn into_inner(self) -> T[src]

Commits the transaction and returns the underlying value. If you accedentaly lose this value from now on, it's your own fault!

pub fn commit(self)[src]

Commits the changes to the queue, consuming this RecvGuard. This is equivalent to drop.

pub fn rollback(self) -> Result<()>[src]

Rolls the reader back to the previous point, negating the changes made on the queue.

Errors

If there is some error while moving the reader back, this error will be return.

Trait Implementations

impl<'a, T> Deref for RecvGuard<'a, T>[src]

type Target = T

The resulting type after dereferencing.

impl<'a, T> DerefMut for RecvGuard<'a, T>[src]

impl<'a, T> Drop for RecvGuard<'a, T>[src]

Auto Trait Implementations

impl<'a, T> RefUnwindSafe for RecvGuard<'a, T> where
    T: RefUnwindSafe

impl<'a, T> Send for RecvGuard<'a, T> where
    T: Send

impl<'a, T> Sync for RecvGuard<'a, T> where
    T: Sync

impl<'a, T> Unpin for RecvGuard<'a, T> where
    T: Unpin

impl<'a, T> !UnwindSafe for RecvGuard<'a, T>

Blanket Implementations

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

impl<T> Any for T where
    T: Any

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, 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.