RcuLock

Struct RcuLock 

Source
pub struct RcuLock<T: Clone> { /* private fields */ }

Implementations§

Source§

impl<T: Clone> RcuLock<T>

Source

pub fn new(target: T) -> RcuLock<T>

Create a new RcuLock.

Source

pub fn read(&self) -> Arc<T>

Acquire a read handle to the RcuLock. This operation never blocks.

Source

pub fn write(&self) -> RcuGuard<'_, T>

Acquire an exclusive write handle to the RcuLock, protected by an RcuGuard. This operation blocks if another RcuGuard is currently alive, i.e. the RcuLock has already handed one out to another writer.

Clones the data protected by the RcuLock, which can be expensive.

Trait Implementations§

Source§

impl<T: Debug + Clone> Debug for RcuLock<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> !Freeze for RcuLock<T>

§

impl<T> !RefUnwindSafe for RcuLock<T>

§

impl<T> Send for RcuLock<T>
where T: Sync + Send,

§

impl<T> Sync for RcuLock<T>
where T: Sync + Send,

§

impl<T> Unpin for RcuLock<T>

§

impl<T> UnwindSafe for RcuLock<T>
where T: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Erased for T