Struct Snapshot

Source
pub struct Snapshot<Cod: Codec = ApiV1TxnCodec, PdC: PdClient<Codec = Cod> = PdRpcClient<Cod>> { /* private fields */ }
Expand description

A read-only transaction which reads at the given timestamp.

It behaves as if the snapshot was taken at the given timestamp, i.e. it can read operations happened before the timestamp, but ignores operations after the timestamp.

See the Transaction docs for more information on the methods.

Implementations§

Source§

impl<Cod: Codec, PdC: PdClient<Codec = Cod>> Snapshot<Cod, PdC>

Source

pub fn new(transaction: Transaction<Cod, PdC>) -> Self

Constructs a new Snapshot.

Source§

impl<Cod: Codec, PdC: PdClient<Codec = Cod>> Snapshot<Cod, PdC>

Source

pub async fn get(&mut self, key: impl Into<Key>) -> Result<Option<Value>>

Get the value associated with the given key.

Source

pub async fn key_exists(&mut self, key: impl Into<Key>) -> Result<bool>

Check whether the key exists.

Source

pub async fn batch_get( &mut self, keys: impl IntoIterator<Item = impl Into<Key>>, ) -> Result<impl Iterator<Item = KvPair>>

Get the values associated with the given keys.

Source

pub async fn scan( &mut self, range: impl Into<BoundRange>, limit: u32, ) -> Result<impl Iterator<Item = KvPair>>

Scan a range, return at most limit key-value pairs that lying in the range.

Source

pub async fn scan_keys( &mut self, range: impl Into<BoundRange>, limit: u32, ) -> Result<impl Iterator<Item = Key>>

Scan a range, return at most limit keys that lying in the range.

Source

pub async fn scan_reverse( &mut self, range: impl Into<BoundRange>, limit: u32, ) -> Result<impl Iterator<Item = KvPair>>

Similar to scan, but in the reverse direction.

Source

pub async fn scan_keys_reverse( &mut self, range: impl Into<BoundRange>, limit: u32, ) -> Result<impl Iterator<Item = Key>>

Similar to scan_keys, but in the reverse direction.

Auto Trait Implementations§

§

impl<Cod, PdC> Freeze for Snapshot<Cod, PdC>

§

impl<Cod, PdC> RefUnwindSafe for Snapshot<Cod, PdC>
where Cod: RefUnwindSafe, PdC: RefUnwindSafe,

§

impl<Cod, PdC> Send for Snapshot<Cod, PdC>

§

impl<Cod, PdC> Sync for Snapshot<Cod, PdC>

§

impl<Cod, PdC> Unpin for Snapshot<Cod, PdC>
where Cod: Unpin,

§

impl<Cod, PdC> UnwindSafe for Snapshot<Cod, PdC>
where Cod: UnwindSafe, PdC: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,