Struct concurrency_manager::KeyHandle [−][src]
An entry in the in-memory table providing functions related to a specific key.
Fields
key: Key
table: UnsafeCell<Option<LockTable>>
mutex: AsyncMutex<()>
lock_store: Mutex<Option<Lock>>
Implementations
impl KeyHandle
[src][−]
pub fn new(key: Key) -> Self
[src]
pub async fn lock(self: Arc<Self>) -> KeyHandleGuard
[src]
pub fn with_lock<T>(&self, f: impl FnOnce(&Option<Lock>) -> T) -> T
[src]
pub(crate) unsafe fn set_table(&self, table: LockTable)
[src][−]
Set the LockTable that the KeyHandle is in.
This method is not thread safe. Make sure that no other threads access
table
at the same time.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for KeyHandle
impl Send for KeyHandle
impl Unpin for KeyHandle
impl !UnwindSafe for KeyHandle
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T> Instrument for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> Pointable for T
[src][+]
impl<T> Pointable for T
[src][+]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> Sealed<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,