pub struct RpcStoreSchema<R: Reader = Db> {Show 18 fields
pub epochs: DbMap<Key, Value, R>,
pub checkpoint_summary: DbMap<Key, Value, R>,
pub checkpoint_contents: DbMap<Key, Value, R>,
pub checkpoint_seq_by_digest: DbMap<Key, Value, R>,
pub transactions: DbMap<Key, Value, R>,
pub tx_seq_by_digest: DbMap<Key, Value, R>,
pub tx_metadata_by_seq: DbMap<Key, Value, R>,
pub effects: DbMap<Key, Value, R>,
pub events: DbMap<Key, Value, R>,
pub objects: DbMap<Key, Value, R>,
pub object_version_by_checkpoint: DbMap<Key, Value, R>,
pub object_by_owner: DbMap<Key, Value, R>,
pub object_by_type: DbMap<Key, Value, R>,
pub balance: DbMap<Key, Value, R>,
pub package_versions: DbMap<Key, Value, R>,
pub transaction_bitmap: DbMap<Key, Value, R>,
pub event_bitmap: DbMap<Key, Value, R>,
pub pruning_watermark: DbMap<Key, Value, R>,
}Expand description
Typed handles to every CF in the sui-rpc-store layout.
Fields§
§epochs: DbMap<Key, Value, R>Per-epoch metadata: protocol version, gas price, start and end timestamps, and the epoch’s final checkpoint.
checkpoint_summary: DbMap<Key, Value, R>Signed checkpoint headers. The lightweight metadata served by most “fetch a checkpoint” requests; the heavier contents list lives in a separate CF.
checkpoint_contents: DbMap<Key, Value, R>The ordered list of executed transaction digests in each checkpoint.
checkpoint_seq_by_digest: DbMap<Key, Value, R>Resolves a checkpoint digest to its sequence number, which is then the key for every other checkpoint-keyed CF.
transactions: DbMap<Key, Value, R>Signed transactions, keyed by their assigned tx_seq.
tx_seq_by_digest: DbMap<Key, Value, R>Resolves a transaction digest to its assigned tx_seq.
tx_metadata_by_seq: DbMap<Key, Value, R>Per-transaction metadata: digest, the containing checkpoint, position within that checkpoint, event count, and the checkpoint’s timestamp.
effects: DbMap<Key, Value, R>The effects produced by each transaction, together with the set of objects loaded but unchanged during execution.
events: DbMap<Key, Value, R>The events emitted by each transaction.
objects: DbMap<Key, Value, R>Every version of every object that has ever existed. A
prefix scan on the object id walks all versions in ascending
order; a reverse prefix scan resolves the latest version (the
greatest (id, version) row), the way the validator perpetual
store serves “latest object” reads.
object_version_by_checkpoint: DbMap<Key, Value, R>An object’s version as of a checkpoint: keyed by
(object id, checkpoint), a reverse prefix scan resolves the
version live at the end of the most recent checkpoint, at or
before the one queried, in which the object changed. Backs
checkpoint-pinned historical reads that the version-keyed
objects CF cannot answer.
object_by_owner: DbMap<Key, Value, R>Supports listing an owner’s objects, optionally filtered by
Move type. Coin-like objects sort richest-first within
each (owner, type) group so paginating valuable holdings
is a forward prefix scan.
object_by_type: DbMap<Key, Value, R>Supports listing every live object of a given Move type, regardless of owner.
balance: DbMap<Key, Value, R>Tracks an account’s balance per coin type, combining the
coin-derived component (sum of owned Coin<T> balances)
and the accumulator-derived component into a single row
merged from independent indexer pipelines.
package_versions: DbMap<Key, Value, R>Tracks every published version of a Move package and the storage id under which each version lives.
transaction_bitmap: DbMap<Key, Value, R>Inverted bitmap index over transaction-sequence space, supporting filtered transaction queries by indexed fields such as sender, called function, or input/changed object.
event_bitmap: DbMap<Key, Value, R>Inverted bitmap index over packed event-sequence space, supporting filtered event queries by event type, emitting module, sender, and similar indexed fields.
pruning_watermark: DbMap<Key, Value, R>Singleton holding the lowest still-available tx_seq,
checkpoint_seq, and object version. Drives compaction
filters and feeds available_range responses.
Implementations§
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_balance(
&self,
owner: SuiAddress,
coin_type: TypeTag,
) -> Result<Option<Balance>, Error>
pub fn get_balance( &self, owner: SuiAddress, coin_type: TypeTag, ) -> Result<Option<Balance>, Error>
Look up the aggregated balance for (owner, coin_type).
Sourcepub fn iter_balances_owned_by(
&self,
owner: SuiAddress,
) -> Result<Iter<'_, Key, Value>, Error>
pub fn iter_balances_owned_by( &self, owner: SuiAddress, ) -> Result<Iter<'_, Key, Value>, Error>
Iterate every coin type that owner has a balance in.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_checkpoint_contents(
&self,
seq: CheckpointSequenceNumber,
) -> Result<Option<CheckpointContents>, Error>
pub fn get_checkpoint_contents( &self, seq: CheckpointSequenceNumber, ) -> Result<Option<CheckpointContents>, Error>
Look up the contents of a checkpoint by sequence number.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_checkpoint_seq_by_digest(
&self,
digest: &CheckpointDigest,
) -> Result<Option<CheckpointSequenceNumber>, Error>
pub fn get_checkpoint_seq_by_digest( &self, digest: &CheckpointDigest, ) -> Result<Option<CheckpointSequenceNumber>, Error>
Look up the sequence number of the checkpoint identified by
digest.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_checkpoint_summary(
&self,
seq: CheckpointSequenceNumber,
) -> Result<Option<VerifiedCheckpoint>, Error>
pub fn get_checkpoint_summary( &self, seq: CheckpointSequenceNumber, ) -> Result<Option<VerifiedCheckpoint>, Error>
Look up the signed summary of a checkpoint by sequence number.
Decodes the stored BCS payloads and rewraps them as a
VerifiedCheckpoint. The “verified” tag is asserted via
new_unchecked: we trust what we put in our own store.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_effects(
&self,
tx_seq: u64,
) -> Result<Option<(TransactionEffects, Vec<ObjectKey>)>, Error>
pub fn get_effects( &self, tx_seq: u64, ) -> Result<Option<(TransactionEffects, Vec<ObjectKey>)>, Error>
Look up the effects produced by the transaction at the
given assigned tx_seq, along with the set of objects
loaded during execution but not modified by the tx.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_epoch(&self, epoch: EpochId) -> Result<Option<EpochInfo>, Error>
pub fn get_epoch(&self, epoch: EpochId) -> Result<Option<EpochInfo>, Error>
Look up the metadata for an epoch, decoding the embedded
BCS SuiSystemState into the canonical
sui_types::storage::EpochInfo.
Sourcepub fn get_committee(&self, epoch: EpochId) -> Result<Option<Committee>, Error>
pub fn get_committee(&self, epoch: EpochId) -> Result<Option<Committee>, Error>
Look up the validator committee active during an epoch.
Derived from the stored SuiSystemState rather than kept
in its own CF — the system state already carries the
validator set, so a dedicated committee row would just be
duplicate bytes. Returns Ok(None) if no epoch row exists
or if the epoch row exists but no system_state_bcs has
been observed yet.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_events(
&self,
tx_seq: u64,
) -> Result<Option<TransactionEvents>, Error>
pub fn get_events( &self, tx_seq: u64, ) -> Result<Option<TransactionEvents>, Error>
Look up the events emitted by the transaction at the given
assigned tx_seq.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn iter_objects_owned_by_address(
&self,
owner: SuiAddress,
) -> Result<Iter<'_, Key, U64Varint>, Error>
pub fn iter_objects_owned_by_address( &self, owner: SuiAddress, ) -> Result<Iter<'_, Key, U64Varint>, Error>
Iterate over every live object owned (in the address-owner
sense) by owner, in the natural sort order of the index:
by Move type, then within each type by descending balance
for coin-like objects, then by object id.
Sourcepub fn iter_objects_owned_by_address_of_type(
&self,
owner: SuiAddress,
type_filter: TypeFilter,
) -> Result<Iter<'_, Key, U64Varint>, Error>
pub fn iter_objects_owned_by_address_of_type( &self, owner: SuiAddress, type_filter: TypeFilter, ) -> Result<Iter<'_, Key, U64Varint>, Error>
Iterate over every live object owned (in the address-owner
sense) by owner whose Move type matches type_filter.
See type_filter::TypeFilter
for the matching contract.
Sourcepub fn iter_objects_owned_by_object(
&self,
parent: SuiAddress,
) -> Result<Iter<'_, Key, U64Varint>, Error>
pub fn iter_objects_owned_by_object( &self, parent: SuiAddress, ) -> Result<Iter<'_, Key, U64Varint>, Error>
Iterate over every live object owned (in the object-owner sense) by the parent object at the given id.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn iter_objects_of_type<'a>(
&'a self,
type_filter: &'a TypeFilter,
) -> Result<Iter<'a, Key, U64Varint>, Error>
pub fn iter_objects_of_type<'a>( &'a self, type_filter: &'a TypeFilter, ) -> Result<Iter<'a, Key, U64Varint>, Error>
Iterate over every live object whose Move type matches
type_filter, regardless of owner. See
TypeFilter for the
matching contract.
TypeFilter encodes to the same leading bytes that
Key uses for its type_ component, so the filter
value passes through directly as the prefix.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_object_version_at_checkpoint(
&self,
id: ObjectID,
checkpoint: u64,
) -> Result<Option<SequenceNumber>, Error>
pub fn get_object_version_at_checkpoint( &self, id: ObjectID, checkpoint: u64, ) -> Result<Option<SequenceNumber>, Error>
Resolve the version an object had as of checkpoint.
The caller is responsible for confirming checkpoint is within
this index’s available range; this method assumes it is.
Two steps:
- Floor scan — the greatest entry at or before
checkpointis the version live then: the row written at the most recent checkpoint, at or before the queried one, in which the object changed (or a restore/backfill floor row). - Restore fallback — if no entry is at or before
checkpoint, the object’s earliest entry is the only candidate, and it lies aftercheckpoint. If that row is a restore floor (from_restoreset), the object predates the available window and was live then at that version. Otherwise it is a later change or creation, so the object did not exist as ofcheckpoint.
Returns Ok(None) when the object did not exist as of
checkpoint (or its history there has been pruned). The returned
version may point at a tombstone row in super::objects; use
get_object_at_checkpoint to
collapse that to “no live object”.
Sourcepub fn get_object_at_checkpoint(
&self,
id: ObjectID,
checkpoint: u64,
) -> Result<Option<Object>, Error>
pub fn get_object_at_checkpoint( &self, id: ObjectID, checkpoint: u64, ) -> Result<Option<Object>, Error>
Resolve the live object as of checkpoint, composing
get_object_version_at_checkpoint
with the version-keyed super::objects lookup.
Returns Ok(None) when the object did not exist as of
checkpoint, or was deleted or wrapped at or before it (the
resolved version points at a tombstone row).
Sourcepub fn iter_object_versions_by_checkpoint(
&self,
id: ObjectID,
) -> Result<Iter<'_, Key, Value>, Error>
pub fn iter_object_versions_by_checkpoint( &self, id: ObjectID, ) -> Result<Iter<'_, Key, Value>, Error>
Iterate every (checkpoint, version) recorded for id, in
ascending checkpoint order.
Sourcepub fn get_latest_object_version(
&self,
id: ObjectID,
) -> Result<Option<SequenceNumber>, Error>
pub fn get_latest_object_version( &self, id: ObjectID, ) -> Result<Option<SequenceNumber>, Error>
Resolve the latest version recorded for an object via this index: the version at its greatest-checkpoint row.
The checkpoint-unbounded counterpart to
get_object_version_at_checkpoint:
a reverse prefix scan takes the object’s highest-checkpoint row,
whose version is the one live at the tip (a restore floor for an
object that never changed in the window is itself that row). It
agrees with the objects-CF reverse scan that backs
get_object, since an object’s version
increases monotonically with the checkpoints it changes in; this
is offered as a convenience for callers already working through
the checkpoint index.
The returned version may point at a tombstone row in
super::objects (the object was deleted or wrapped and the
removal has not yet been pruned). Returns Ok(None) when id has
no row (it never existed, or its history has been fully pruned).
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_object_by_key(
&self,
id: ObjectID,
version: SequenceNumber,
) -> Result<Option<Object>, Error>
pub fn get_object_by_key( &self, id: ObjectID, version: SequenceNumber, ) -> Result<Option<Object>, Error>
Look up a specific version of an object, returning the live
object if and only if the row at (id, version) is a live
version. Tombstone rows and missing rows both return None;
callers that need to distinguish the two should use
get_object_status_by_key.
For the “latest live version” of an object id, use
get_object, which reverse-scans this CF
for the greatest version.
Sourcepub fn get_object_status_by_key(
&self,
id: ObjectID,
version: SequenceNumber,
) -> Result<Option<Status>, Error>
pub fn get_object_status_by_key( &self, id: ObjectID, version: SequenceNumber, ) -> Result<Option<Status>, Error>
Look up a specific version of an object, returning the
typed Status so callers can distinguish live versions
from tombstones. Ok(None) means no row was written at
(id, version).
Sourcepub fn get_object(&self, id: ObjectID) -> Result<Option<Object>, Error>
pub fn get_object(&self, id: ObjectID) -> Result<Option<Object>, Error>
Look up the latest live version of an object by id.
A single reverse prefix scan takes the object’s greatest
(id, version) row and decodes it, returning the live object or
None if that row is a tombstone. This mirrors the validator
perpetual store’s get_object (reverse scan, then collapse
Deleted / Wrapped to None). Returns Ok(None) when the
object has no recorded version.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_package_storage_id(
&self,
original_id: ObjectID,
version: u64,
) -> Result<Option<ObjectID>, Error>
pub fn get_package_storage_id( &self, original_id: ObjectID, version: u64, ) -> Result<Option<ObjectID>, Error>
Look up the on-chain storage id that holds a specific version of a package.
Sourcepub fn iter_package_versions(
&self,
original_id: ObjectID,
) -> Result<Iter<'_, Key, Value>, Error>
pub fn iter_package_versions( &self, original_id: ObjectID, ) -> Result<Iter<'_, Key, Value>, Error>
Iterate every version of the package originally published
at original_id, in ascending version order.
Sourcepub fn get_package_at_checkpoint(
&self,
original_id: ObjectID,
checkpoint: u64,
) -> Result<Option<(u64, ObjectID)>, Error>
pub fn get_package_at_checkpoint( &self, original_id: ObjectID, checkpoint: u64, ) -> Result<Option<(u64, ObjectID)>, Error>
Resolve the latest version of the package originally
published at original_id that existed as of checkpoint,
returning its (version, storage_id).
Walks every recorded version of the package — cheap, since
even the most-upgraded mainnet packages have on the order of
a hundred versions — and keeps the highest version whose
publish checkpoint is at or before checkpoint. Restore-floor
rows (no recorded publish checkpoint) count as having always
existed, since they predate the available window.
Returns Ok(None) when no version of the package existed as
of checkpoint (it was first published later, or the package
is unknown to this store).
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_pruning_watermarks(&self) -> Result<Option<Watermarks>, Error>
pub fn get_pruning_watermarks(&self) -> Result<Option<Watermarks>, Error>
Read the persisted pruning watermarks from disk.
Sourcepub fn set_pruning_floor(&self, tx_seq_lo: u64)
pub fn set_pruning_floor(&self, tx_seq_lo: u64)
Update the tx_seq floor used by the bitmap CFs’
compaction filters.
Callers that advance pruning should:
- Stage a write to the
pruning_watermarkCF viastore. - Commit the batch so the new watermarks are durable.
- Call this method with the new
tx_seq_loso the in-memory floor matches what’s on disk.
Sourcepub fn refresh_pruning_atomics(&self) -> Result<(), Error>
pub fn refresh_pruning_atomics(&self) -> Result<(), Error>
Load the persisted pruning watermarks from disk into the in-memory bitmap floor.
Call once on startup so the bitmap compaction filters see the persisted floor instead of starting at zero (where they’d prune nothing).
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_transaction(
&self,
tx_seq: u64,
) -> Result<Option<(TransactionData, Vec<GenericSignature>)>, Error>
pub fn get_transaction( &self, tx_seq: u64, ) -> Result<Option<(TransactionData, Vec<GenericSignature>)>, Error>
Look up the transaction data and signatures at the given
assigned tx_seq.
Callers resolving from a TransactionDigest should first
translate through tx_seq_by_digest.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_tx_metadata_by_seq(
&self,
tx_seq: u64,
) -> Result<Option<Metadata>, Error>
pub fn get_tx_metadata_by_seq( &self, tx_seq: u64, ) -> Result<Option<Metadata>, Error>
Look up the metadata for the transaction at the given
assigned tx_seq.
Sourcepub fn iter_tx_seq_digests(
&self,
from: u64,
to_exclusive: u64,
) -> Result<impl Iterator<Item = Result<(u64, TransactionDigest), Error>> + '_, Error>
pub fn iter_tx_seq_digests( &self, from: u64, to_exclusive: u64, ) -> Result<impl Iterator<Item = Result<(u64, TransactionDigest), Error>> + '_, Error>
Iterate (tx_seq, digest) pairs over [from, to_exclusive),
decoding only the digest from each row.
The pruner uses this to unindex tx_seq_by_digest for a pruned
range. Iterating the table seeks straight to the first present
row and visits only rows that exist, so a sparse range — or a
floor of 0 when the lower bound is unknown — costs work
proportional to the rows actually present, not to the width of
the tx_seq interval.
Source§impl<R: Reader> RpcStoreSchema<R>
impl<R: Reader> RpcStoreSchema<R>
Sourcepub fn get_tx_seq_by_digest(
&self,
digest: &TransactionDigest,
) -> Result<Option<u64>, Error>
pub fn get_tx_seq_by_digest( &self, digest: &TransactionDigest, ) -> Result<Option<u64>, Error>
Look up the sequence number of the transaction identified
by digest.
Trait Implementations§
Source§impl Schema for RpcStoreSchema
impl Schema for RpcStoreSchema
Auto Trait Implementations§
impl<R> Freeze for RpcStoreSchema<R>where
R: Freeze,
impl<R> RefUnwindSafe for RpcStoreSchema<R>where
R: RefUnwindSafe,
impl<R> Send for RpcStoreSchema<R>where
R: Send,
impl<R> Sync for RpcStoreSchema<R>where
R: Sync,
impl<R> Unpin for RpcStoreSchema<R>where
R: Unpin,
impl<R> UnwindSafe for RpcStoreSchema<R>where
R: UnwindSafe,
Blanket Implementations§
§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read more§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read more§fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
§impl<T> AnySync for T
impl<T> AnySync for T
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a Request§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoSql for T
impl<T> IntoSql for T
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T, Conn> RunQueryDsl<Conn> for T
impl<T, Conn> RunQueryDsl<Conn> for T
§fn execute<'conn, 'query>(
self,
conn: &'conn mut Conn,
) -> <Conn as AsyncConnectionCore>::ExecuteFuture<'conn, 'query>where
Conn: AsyncConnectionCore + Send,
Self: ExecuteDsl<Conn> + 'query,
fn execute<'conn, 'query>(
self,
conn: &'conn mut Conn,
) -> <Conn as AsyncConnectionCore>::ExecuteFuture<'conn, 'query>where
Conn: AsyncConnectionCore + Send,
Self: ExecuteDsl<Conn> + 'query,
§fn load<'query, 'conn, U>(
self,
conn: &'conn mut Conn,
) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U>>>where
U: Send,
Conn: AsyncConnectionCore,
Self: LoadQuery<'query, Conn, U> + 'query,
fn load<'query, 'conn, U>(
self,
conn: &'conn mut Conn,
) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U>>>where
U: Send,
Conn: AsyncConnectionCore,
Self: LoadQuery<'query, Conn, U> + 'query,
§fn load_stream<'conn, 'query, U>(
self,
conn: &'conn mut Conn,
) -> Self::LoadFuture<'conn>where
Conn: AsyncConnectionCore,
U: 'conn,
Self: LoadQuery<'query, Conn, U> + 'query,
fn load_stream<'conn, 'query, U>(
self,
conn: &'conn mut Conn,
) -> Self::LoadFuture<'conn>where
Conn: AsyncConnectionCore,
U: 'conn,
Self: LoadQuery<'query, Conn, U> + 'query,
Stream] with the returned rows. Read more§fn get_result<'query, 'conn, U>(
self,
conn: &'conn mut Conn,
) -> AndThen<Self::LoadFuture<'conn>, LoadNext<Pin<Box<Self::Stream<'conn>>>>>where
U: Send + 'conn,
Conn: AsyncConnectionCore,
Self: LoadQuery<'query, Conn, U> + 'query,
fn get_result<'query, 'conn, U>(
self,
conn: &'conn mut Conn,
) -> AndThen<Self::LoadFuture<'conn>, LoadNext<Pin<Box<Self::Stream<'conn>>>>>where
U: Send + 'conn,
Conn: AsyncConnectionCore,
Self: LoadQuery<'query, Conn, U> + 'query,
§fn get_results<'query, 'conn, U>(
self,
conn: &'conn mut Conn,
) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U>>>where
U: Send,
Conn: AsyncConnectionCore,
Self: LoadQuery<'query, Conn, U> + 'query,
fn get_results<'query, 'conn, U>(
self,
conn: &'conn mut Conn,
) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U>>>where
U: Send,
Conn: AsyncConnectionCore,
Self: LoadQuery<'query, Conn, U> + 'query,
Vec with the affected rows. Read more§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.