Struct tc_transact::lock::TxnLock
source · [−]pub struct TxnLock<T> { /* private fields */ }
Implementations
sourceimpl<T: Clone + PartialEq> TxnLock<T>
impl<T: Clone + PartialEq> TxnLock<T>
sourcepub async fn read(&self, txn_id: TxnId) -> TCResult<TxnLockReadGuard<T>>
pub async fn read(&self, txn_id: TxnId) -> TCResult<TxnLockReadGuard<T>>
Lock this value for reading at the given txn_id
.
sourcepub async fn read_exclusive(
&self,
txn_id: TxnId
) -> TCResult<TxnLockReadGuardExclusive<T>>
pub async fn read_exclusive(
&self,
txn_id: TxnId
) -> TCResult<TxnLockReadGuardExclusive<T>>
Lock this value exclusively for reading at the given txn_id
.
sourcepub fn try_read_exclusive(
&self,
txn_id: TxnId
) -> TCResult<TxnLockReadGuardExclusive<T>>
pub fn try_read_exclusive(
&self,
txn_id: TxnId
) -> TCResult<TxnLockReadGuardExclusive<T>>
Lock this value exclusively for reading at the given txn_id
, if possible.
sourcepub fn try_write(&self, txn_id: TxnId) -> TCResult<TxnLockWriteGuard<T>>
pub fn try_write(&self, txn_id: TxnId) -> TCResult<TxnLockWriteGuard<T>>
Try to acquire a write lock synchronously, if possible.
sourcepub async fn write(&self, txn_id: TxnId) -> TCResult<TxnLockWriteGuard<T>>
pub async fn write(&self, txn_id: TxnId) -> TCResult<TxnLockWriteGuard<T>>
Lock this value for writing.
Trait Implementations
Auto Trait Implementations
impl<T> !RefUnwindSafe for TxnLock<T>
impl<T> Send for TxnLock<T>where
T: Send + Sync,
impl<T> Sync for TxnLock<T>where
T: Send + Sync,
impl<T> Unpin for TxnLock<T>
impl<T> !UnwindSafe for TxnLock<T>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<F> Match for F
impl<F> Match for F
sourcefn matches<T>(&self) -> boolwhere
T: TryCastFrom<Self>,
fn matches<T>(&self) -> boolwhere
T: TryCastFrom<Self>,
Returns true
if self
can be cast into the target type T
.
sourceimpl<F, T> TryCastFrom<F> for Twhere
T: CastFrom<F>,
impl<F, T> TryCastFrom<F> for Twhere
T: CastFrom<F>,
sourcefn can_cast_from(&F) -> bool
fn can_cast_from(&F) -> bool
Test if value
can be cast into Self
.
sourcefn opt_cast_from(f: F) -> Option<T>
fn opt_cast_from(f: F) -> Option<T>
Returns Some(Self)
if the source value can be cast into Self
, otherwise None
.
sourcefn try_cast_from<Err, OnErr>(value: T, on_err: OnErr) -> Result<Self, Err>where
OnErr: FnOnce(&T) -> Err,
fn try_cast_from<Err, OnErr>(value: T, on_err: OnErr) -> Result<Self, Err>where
OnErr: FnOnce(&T) -> Err,
Returns Ok(Self)
if the source value can be cast into Self
, otherwise calls on_err
.
sourceimpl<F, T> TryCastInto<T> for Fwhere
T: TryCastFrom<F>,
impl<F, T> TryCastInto<T> for Fwhere
T: TryCastFrom<F>,
sourcefn can_cast_into(&self) -> bool
fn can_cast_into(&self) -> bool
Test if self
can be cast into T
.
sourcefn opt_cast_into(self) -> Option<T>
fn opt_cast_into(self) -> Option<T>
Returns Some(T)
if self
can be cast into T
, otherwise None
.
sourcefn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err>where
OnErr: FnOnce(&Self) -> Err,
fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err>where
OnErr: FnOnce(&Self) -> Err,
Returns Ok(T)
if self
can be cast into T
, otherwise calls on_err
.