[][src]Struct ts_static::ThreadSafeStruct

pub struct ThreadSafeStruct<T> {
    pub value: Mutex<Option<T>>,
}

Fields

value: Mutex<Option<T>>

Implementations

impl<T> ThreadSafeStruct<T>[src]

pub fn with(
    &self,
    action: impl FnOnce(&mut T)
) -> Result<(), ThreadSafeStructError>
[src]

Borrows the value from the mutex, mutably in order to work with/on

pub fn set(&self, value: Option<T>)[src]

Sets the mutex to a value or None

This provides no guarantee that other threads don't change it straight away so if you call with() after value may have changed

I.e. two threads, one calls set, the other calls with set thread wins, and the with thread waits for the lock as soon as thread set finishes, thread with will do its thing

Auto Trait Implementations

impl<T> RefUnwindSafe for ThreadSafeStruct<T>

impl<T> Send for ThreadSafeStruct<T> where
    T: Send

impl<T> Sync for ThreadSafeStruct<T> where
    T: Send

impl<T> Unpin for ThreadSafeStruct<T> where
    T: Unpin

impl<T> UnwindSafe for ThreadSafeStruct<T>

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