Struct resolved_ts::Resolver [−][src]
Fields
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
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]
region_id: u64,
read_progress: Option<Arc<RegionReadProgress>>
) -> Resolver
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]
&mut self,
start_ts: TimeStamp,
key: Vec<u8>,
index: Option<u64>
)
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]
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>,