Struct tikv::server::lock_manager::deadlock::Locks [−][src]
Locks
is a set of locks belonging to one transaction.
Fields
ts: TimeStamp
keys: Vec<(u64, Vec<u8>)>
resource_group_tag: Vec<u8>
last_detect_time: Instant
Implementations
impl Locks
[src]
fn new(
ts: TimeStamp,
hash: u64,
key: Vec<u8>,
resource_group_tag: Vec<u8>,
last_detect_time: Instant
) -> Self
[src]
ts: TimeStamp,
hash: u64,
key: Vec<u8>,
resource_group_tag: Vec<u8>,
last_detect_time: Instant
) -> Self
Creates a new Locks
.
fn push(&mut self, lock_hash: u64, key: Vec<u8>, now: Instant)
[src]
Pushes the hash
if not exist and updates last_detect_time
.
fn remove(&mut self, lock_hash: u64) -> bool
[src]
Removes the lock_hash
and returns true if the Locks
is empty.
fn is_expired(&self, now: Instant, ttl: Duration) -> bool
[src]
Returns true if the Locks
is expired.
fn to_wait_for_entry(&self, waiter_ts: TimeStamp) -> WaitForEntry
[src]
Generate a WaitForEntry
for the lock.
Auto Trait Implementations
impl RefUnwindSafe for Locks
impl Send for Locks
impl Sync for Locks
impl Unpin for Locks
impl UnwindSafe for Locks
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<V, W> ConvertFrom<W> for V where
W: ConvertTo<V>,
[src]
W: ConvertTo<V>,
pub fn convert_from(ctx: &mut EvalContext, from: W) -> Result<V, Error>
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[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> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,