Struct tikv::server::lock_manager::waiter_manager::WaitTable[][src]

struct WaitTable {
    wait_table: HashMap<u64, Vec<Waiter>>,
    waiter_count: Arc<AtomicUsize>,
}

Fields

wait_table: HashMap<u64, Vec<Waiter>>waiter_count: Arc<AtomicUsize>

Implementations

impl WaitTable[src]

fn new(waiter_count: Arc<AtomicUsize>) -> Self[src]

fn is_empty(&self) -> bool[src]

fn add_waiter(&mut self, waiter: Waiter) -> Option<Waiter>[src]

Returns the duplicated Waiter if there is.

fn remove(&mut self, lock: Lock)[src]

Removes all waiters waiting for the lock.

fn remove_waiter(&mut self, lock: Lock, waiter_ts: TimeStamp) -> Option<Waiter>[src]

fn remove_oldest_waiter(
    &mut self,
    lock: Lock
) -> Option<(Waiter, &mut Vec<Waiter>)>
[src]

Removes the Waiter with the smallest start ts and returns it with remaining waiters.

NOTE: Due to the borrow checker, it doesn’t remove the entry in the WaitTable even if there is no remaining waiter.

fn to_wait_for_entries(&self) -> Vec<WaitForEntry>[src]

Auto Trait Implementations

impl !RefUnwindSafe for WaitTable

impl !Send for WaitTable

impl !Sync for WaitTable

impl Unpin for WaitTable

impl !UnwindSafe for WaitTable

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<V, W> ConvertFrom<W> for V where
    W: ConvertTo<V>, 
[src]

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]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]