Skip to main content

Client

Struct Client 

Source
pub struct Client { /* private fields */ }
Expand description

The Client.

Implementations§

Source§

impl Client

Source

pub fn new(sender: RpcChannel) -> Self

Creates a new Client.

Source

pub fn get_balance( &self, pubkey_str: String, config: Option<RpcContextConfig>, ) -> impl Future<Output = RpcResult<RpcResponse<u64>>>

Returns the balance (in lamports) of the account at the provided public key.

This endpoint queries the current or historical balance of an account, depending on the optional commitment level provided in the config.

§Parameters
  • pubkey_str: The base-58 encoded public key of the account to query.
  • _config (optional): RpcContextConfig specifying commitment level and/or minimum context slot.
§Returns

An RpcResponse<u64> where the value is the balance in lamports.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBalance",
  "params": [
    "4Nd1mXUmh23rQk8VN7wM9hEnfxqrrB1yrn11eW9gMoVr"
  ]
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 1085597
    },
    "value": 20392800
  },
  "id": 1
}
§Notes
  • 1 SOL = 1,000,000,000 lamports.
  • Use commitment level in the config to specify whether the balance should be fetched from processed, confirmed, or finalized state.
§See Also
  • getAccountInfo, getTokenAccountBalance
Source

pub fn get_epoch_info( &self, config: Option<RpcContextConfig>, ) -> impl Future<Output = RpcResult<EpochInfo>>

Returns information about the current epoch.

This endpoint provides epoch-related data such as the current epoch number, the total number of slots in the epoch, the current slot index within the epoch, and the absolute slot number.

§Parameters
  • config (optional): RpcContextConfig for specifying commitment level and/or minimum context slot.
§Returns

An EpochInfo struct containing information about the current epoch.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getEpochInfo"
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": {
    "epoch": 278,
    "slotIndex": 423,
    "slotsInEpoch": 432000,
    "absoluteSlot": 124390823,
    "blockHeight": 18962432,
    "transactionCount": 981234523
  },
  "id": 1
}
§Notes
  • The slotIndex is the current slot’s position within the epoch.
  • slotsInEpoch may vary due to network adjustments (e.g., warm-up periods).
  • The commitment field in the config can influence how recent the returned data is.
§See Also
  • getEpochSchedule, getSlot, getBlockHeight
Source

pub fn get_genesis_hash(&self) -> impl Future<Output = RpcResult<String>>

Returns the genesis hash of the blockchain.

The genesis hash is a unique identifier that represents the state of the blockchain at the genesis block (the very first block). This can be used to validate the integrity of the blockchain and ensure that a node is operating with the correct blockchain data.

§Parameters
  • None.
§Returns

A String containing the base-58 encoded genesis hash.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getGenesisHash"
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": "5eymX3jrWXcKqD1tsB2BzAB6gX9LP2pLrpVG6KwBSoZJ"
  "id": 1
}
§Notes
  • The genesis hash is a critical identifier for validating the blockchain’s origin and initial state.
  • This endpoint does not require any parameters and provides a quick way to verify the genesis hash for blockchain verification or initial setup.
§See Also
  • getEpochInfo, getBlock, getClusterNodes
Source

pub fn get_health(&self) -> impl Future<Output = RpcResult<String>>

Returns the health status of the blockchain node.

This method checks the health of the node and returns a status indicating whether the node is in a healthy state or if it is experiencing any issues such as being out of sync with the network or encountering any failures.

§Parameters
  • None.
§Returns

A String indicating the health status of the node:

  • "ok": The node is healthy and synchronized with the network.
  • "failed": The node is not healthy or is experiencing issues.
§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getHealth"
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": "ok",
  "id": 1
}
§Notes
  • The "ok" response means that the node is fully operational and synchronized with the blockchain.
  • The "failed" response indicates that the node is either out of sync, has encountered an error, or is not functioning properly.
  • This is typically used to monitor the health of the node in production environments.
§See Also
  • getGenesisHash, getEpochInfo, getBlock
Source

pub fn get_identity(&self) -> impl Future<Output = RpcResult<RpcIdentity>>

Returns the identity (public key) of the node.

This method retrieves the current identity of the node, which is represented by a public key. The identity is used to uniquely identify the node on the network.

§Parameters
  • None.
§Returns

A RpcIdentity object containing the identity of the node:

  • identity: The base-58 encoded public key of the node’s identity.
§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getIdentity"
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": {
    "identity": "Base58EncodedPublicKeyHere"
  },
  "id": 1
}
§Notes
  • The identity returned is a base-58 encoded public key representing the current node.
  • This identity is often used for network identification and security.
§See Also
  • getGenesisHash, getHealth, getBlock
Source

pub fn get_slot( &self, config: Option<RpcContextConfig>, ) -> impl Future<Output = RpcResult<Slot>>

Returns the current slot of the ledger.

This method retrieves the current slot number in the blockchain, which represents a point in the ledger’s history. Slots are used to organize and validate the timing of transactions in the network.

§Parameters
  • config (optional): Configuration options for the request, such as commitment level or context slot. Defaults to None.
§Returns

A Slot value representing the current slot of the ledger.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSlot"
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": 12345678,
  "id": 1
}
§Notes
  • The slot represents the position in the ledger. It increments over time as new blocks are produced.
§See Also
  • getBlock, getEpochInfo, getGenesisHash
Source

pub fn get_block_height( &self, config: Option<RpcContextConfig>, ) -> impl Future<Output = RpcResult<u64>>

Returns the current block height.

This method retrieves the height of the most recent block in the ledger, which is an indicator of how many blocks have been added to the blockchain. The block height is the number of blocks that have been produced since the genesis block.

§Parameters
  • config (optional): Configuration options for the request, such as commitment level or context slot. Defaults to None.
§Returns

A u64 representing the current block height of the ledger.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlockHeight"
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": 12345678,
  "id": 1
}
§Notes
  • The block height reflects the number of blocks produced in the ledger, starting from the genesis block. It is incremented each time a new block is added.
§See Also
  • getSlot, getEpochInfo, getGenesisHash
Source

pub fn get_highest_snapshot_slot( &self, ) -> impl Future<Output = RpcResult<RpcSnapshotSlotInfo>>

Returns information about the highest snapshot slot.

This method retrieves information about the most recent snapshot slot, which refers to the slot in the blockchain where the most recent snapshot has been taken. A snapshot is a point-in-time capture of the state of the ledger, allowing for quicker validation of the state without processing every transaction.

§Parameters
  • meta: Metadata passed with the request, such as the client’s request context.
§Returns

A RpcSnapshotSlotInfo containing information about the highest snapshot slot.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getHighestSnapshotSlot"
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": {
    "slot": 987654,
    "root": "A9B7F1A4D1D55D0635B905E5AB6341C5D9F7F4D2A1160C53B5647B1E3259BB24"
  },
  "id": 1
}
§Notes
  • The snapshot slot represents the most recent snapshot in the blockchain and is used for more efficient state validation and recovery.
  • The result also includes the root, which is the blockhash at the snapshot point.
§See Also
  • getBlock, getSnapshotInfo
Source

pub fn get_transaction_count( &self, config: Option<RpcContextConfig>, ) -> impl Future<Output = RpcResult<u64>>

Returns the total number of transactions processed by the blockchain.

This method retrieves the number of transactions that have been processed in the blockchain up to the current point. It provides a snapshot of the transaction throughput and can be useful for monitoring and performance analysis.

§Parameters
  • meta: Metadata passed with the request, such as the client’s request context.
  • config: Optional configuration for the request, such as commitment settings or minimum context slot.
§Returns

A u64 representing the total transaction count.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getTransactionCount"
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": 1234567890,
  "id": 1
}
§Notes
  • This method gives a cumulative count of all transactions in the blockchain from the start of the network.
§See Also
  • getBlockHeight, getEpochInfo
Source

pub fn get_version( &self, ) -> impl Future<Output = RpcResult<SurfpoolRpcVersionInfo>>

Returns the current version of the server or application.

This method retrieves the version information for the server or application. It provides details such as the version number and additional metadata that can help with compatibility checks or updates.

§Parameters
  • meta: Metadata passed with the request, such as the client’s request context.
§Returns

A SurfpoolRpcVersionInfo object containing the version details.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getVersion"
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": {
    "surfnet_version": "1.2.3",
    "solana_core": "1.9.0",
    "feature_set": 12345
  },
  "id": 1
}
§Notes
  • The version information typically includes the version number of surfpool, the version of solana-core, and a feature_set identifier (first 4 bytes).
  • The feature_set field may not always be present, depending on whether a feature set identifier is available.
§See Also
  • getHealth, getIdentity
Source

pub fn get_vote_accounts( &self, config: Option<RpcGetVoteAccountsConfig>, ) -> impl Future<Output = RpcResult<RpcVoteAccountStatus>>

Returns vote account information.

This method retrieves the current status of vote accounts, including information about the validator’s vote account and whether it is delinquent. The response includes vote account details such as the stake, commission, vote history, and more.

§Parameters
  • meta: Metadata passed with the request, such as the client’s request context.
  • config: Optional configuration parameters, such as specific vote account addresses or commitment settings.
§Returns

A RpcVoteAccountStatus object containing details about the current and delinquent vote accounts.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getVoteAccounts",
  "params": [{}]
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": {
    "current": [
      {
        "votePubkey": "votePubkeyBase58",
        "nodePubkey": "nodePubkeyBase58",
        "activatedStake": 1000000,
        "commission": 5,
        "epochVoteAccount": true,
        "epochCredits": [[1, 1000, 900], [2, 1100, 1000]],
        "lastVote": 1000,
        "rootSlot": 1200
      }
    ],
    "delinquent": [
      {
        "votePubkey": "delinquentVotePubkeyBase58",
        "nodePubkey": "delinquentNodePubkeyBase58",
        "activatedStake": 0,
        "commission": 10,
        "epochVoteAccount": false,
        "epochCredits": [[1, 500, 400]],
        "lastVote": 0,
        "rootSlot": 0
      }
    ]
  },
  "id": 1
}
§Notes
  • The current field contains details about vote accounts that are active and have current stake.
  • The delinquent field contains details about vote accounts that have become delinquent due to inactivity or other issues.
  • The epochCredits field contains historical voting data.
§See Also
  • getHealth, getIdentity, getVersion
Source

pub fn get_leader_schedule( &self, options: Option<RpcLeaderScheduleConfigWrapper>, config: Option<RpcLeaderScheduleConfig>, ) -> impl Future<Output = RpcResult<Option<RpcLeaderSchedule>>>

Returns the leader schedule for the given configuration or slot.

This method retrieves the leader schedule for the given slot or configuration, providing a map of validator identities to slot indices within a given range.

§Parameters
  • meta: Metadata passed with the request, such as the client’s request context.
  • options: Optional configuration wrapper, which can either be a specific slot or a full configuration.
  • config: Optional configuration containing the validator identity and commitment level.
§Returns

An Option<RpcLeaderSchedule> containing a map of leader identities (base-58 encoded pubkeys) to slot indices, relative to the first epoch slot.

§Example Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLeaderSchedule",
  "params": [{}]
}
§Example Response
{
  "jsonrpc": "2.0",
  "result": {
    "votePubkey1": [0, 2, 4],
    "votePubkey2": [1, 3, 5]
  },
  "id": 1
}
§Notes
  • The returned map contains validator identities as keys (base-58 encoded strings), with slot indices as values.
§See Also
  • getSlot, getBlockHeight, getEpochInfo

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl From<RpcChannel> for Client

Source§

fn from(channel: RpcChannel) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> AggregateExpressionMethods for T

Source§

fn aggregate_distinct(self) -> Self::Output
where Self: DistinctDsl,

DISTINCT modifier for aggregate functions Read more
Source§

fn aggregate_all(self) -> Self::Output
where Self: AllDsl,

ALL modifier for aggregate functions Read more
Source§

fn aggregate_filter<P>(self, f: P) -> Self::Output
where P: AsExpression<Bool>, Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,

Add an aggregate function filter Read more
Source§

fn aggregate_order<O>(self, o: O) -> Self::Output
where Self: OrderAggregateDsl<O>,

Add an aggregate function order Read more
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<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Sync + Send>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. 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> IntoSql for T

Source§

fn into_sql<T>(self) -> Self::Expression

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
Source§

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

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. 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> WindowExpressionMethods for T

Source§

fn over(self) -> Self::Output
where Self: OverDsl,

Turn a function call into a window function call Read more
Source§

fn window_filter<P>(self, f: P) -> Self::Output
where P: AsExpression<Bool>, Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,

Add a filter to the current window function Read more
Source§

fn partition_by<E>(self, expr: E) -> Self::Output
where Self: PartitionByDsl<E>,

Add a partition clause to the current window function Read more
Source§

fn window_order<E>(self, expr: E) -> Self::Output
where Self: OrderWindowDsl<E>,

Add a order clause to the current window function Read more
Source§

fn frame_by<E>(self, expr: E) -> Self::Output
where Self: FrameDsl<E>,

Add a frame clause to the current window function Read more
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