Struct resolved_ts::Resolver[][src]

pub struct Resolver {
    region_id: u64,
    locks_by_key: HashMap<Arc<[u8]>, TimeStamp>,
    lock_ts_heap: BTreeMap<TimeStamp, HashSet<Arc<[u8]>>>,
    resolved_ts: TimeStamp,
    tracked_index: u64,
    read_progress: Option<Arc<RegionReadProgress>>,
    min_ts: TimeStamp,
}

Fields

region_id: u64locks_by_key: HashMap<Arc<[u8]>, TimeStamp>lock_ts_heap: BTreeMap<TimeStamp, HashSet<Arc<[u8]>>>resolved_ts: TimeStamptracked_index: u64read_progress: Option<Arc<RegionReadProgress>>min_ts: TimeStamp

Implementations

impl Resolver[src]

pub fn new(region_id: u64) -> Resolver[src]

pub fn with_read_progress(
    region_id: u64,
    read_progress: Option<Arc<RegionReadProgress>>
) -> Resolver
[src]

pub fn resolved_ts(&self) -> TimeStamp[src]

pub fn locks(&self) -> &BTreeMap<TimeStamp, HashSet<Arc<[u8]>>>[src]

pub fn update_tracked_index(&mut self, index: u64)[src]

pub fn track_lock(
    &mut self,
    start_ts: TimeStamp,
    key: Vec<u8>,
    index: Option<u64>
)
[src]

pub fn untrack_lock(&mut self, key: &[u8], index: Option<u64>)[src]

pub fn resolve(&mut self, min_ts: TimeStamp) -> TimeStamp[src]

Try to advance resolved ts.

min_ts advances the resolver even if there is no write. Return None means the resolver is not initialized.

Auto Trait Implementations

impl RefUnwindSafe for Resolver

impl Send for Resolver

impl Sync for Resolver

impl Unpin for Resolver

impl UnwindSafe for Resolver

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> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?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]