Struct tikv::storage::mvcc::reader::scanner::forward::ForwardScanner[][src]

pub struct ForwardScanner<S: Snapshot, P: ScanPolicy<S>> {
    cfg: ScannerConfig<S>,
    cursors: Cursors<S>,
    is_started: bool,
    statistics: Statistics,
    scan_policy: P,
    met_newer_ts_data: NewerTsCheckState,
}

Fields

cfg: ScannerConfig<S>cursors: Cursors<S>is_started: bool

Is iteration started

statistics: Statisticsscan_policy: Pmet_newer_ts_data: NewerTsCheckState

Implementations

impl<S: Snapshot, P: ScanPolicy<S>> ForwardScanner<S, P>[src]

pub fn new(
    cfg: ScannerConfig<S>,
    lock_cursor: Cursor<S::Iter>,
    write_cursor: Cursor<S::Iter>,
    default_cursor: Option<Cursor<S::Iter>>,
    scan_policy: P
) -> ForwardScanner<S, P>
[src]

pub fn take_statistics(&mut self) -> Statistics[src]

Take out and reset the statistics collected so far.

pub fn met_newer_ts_data(&self) -> NewerTsCheckState[src]

Whether we met newer ts data. The result is always Unknown if check_has_newer_ts_data is not set.

pub fn read_next(&mut self) -> Result<Option<P::Output>>[src]

Get the next key-value pair, in forward order.

fn move_write_cursor_to_ts(&mut self, user_key: &Key) -> Result<bool>[src]

Try to move the write cursor to the self.cfg.ts version of the given key. Because it is possible that the cursor is moved to the next user key or the end of key space, the method returns whether the write cursor still points to the given user key.

Trait Implementations

impl<S, P> TxnEntryScanner for ForwardScanner<S, P> where
    S: Snapshot,
    P: ScanPolicy<S, Output = TxnEntry> + Send
[src]

Auto Trait Implementations

impl<S, P> !RefUnwindSafe for ForwardScanner<S, P>

impl<S, P> Send for ForwardScanner<S, P> where
    P: Send

impl<S, P> !Sync for ForwardScanner<S, P>

impl<S, P> Unpin for ForwardScanner<S, P> where
    P: Unpin,
    S: Unpin,
    <S as Snapshot>::Iter: Unpin

impl<S, P> UnwindSafe for ForwardScanner<S, P> where
    P: UnwindSafe,
    S: UnwindSafe,
    <S as Snapshot>::Iter: UnwindSafe

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]