pub struct PoolInner<V, T, S>where
T: TransactionOrdering,{ /* private fields */ }
Expand description
Transaction pool internals.
Implementations§
Source§impl<V, T, S> PoolInner<V, T, S>where
V: TransactionValidator,
T: TransactionOrdering<Transaction = <V as TransactionValidator>::Transaction>,
S: BlobStore,
impl<V, T, S> PoolInner<V, T, S>where
V: TransactionValidator,
T: TransactionOrdering<Transaction = <V as TransactionValidator>::Transaction>,
S: BlobStore,
Sourcepub fn new(validator: V, ordering: T, blob_store: S, config: PoolConfig) -> Self
pub fn new(validator: V, ordering: T, blob_store: S, config: PoolConfig) -> Self
Create a new transaction pool instance.
Sourcepub const fn blob_store(&self) -> &S
pub const fn blob_store(&self) -> &S
Returns the configured blob store.
Sourcepub fn block_info(&self) -> BlockInfo
pub fn block_info(&self) -> BlockInfo
Returns the currently tracked block
Sourcepub fn set_block_info(&self, info: BlockInfo)
pub fn set_block_info(&self, info: BlockInfo)
Sets the currently tracked block
Sourcepub fn get_sender_id(&self, addr: Address) -> SenderId
pub fn get_sender_id(&self, addr: Address) -> SenderId
Returns the internal SenderId
for this address
Sourcepub fn get_sender_ids(
&self,
addrs: impl IntoIterator<Item = Address>,
) -> Vec<SenderId>
pub fn get_sender_ids( &self, addrs: impl IntoIterator<Item = Address>, ) -> Vec<SenderId>
Returns the internal SenderId
s for the given addresses.
Sourcepub fn unique_senders(&self) -> HashSet<Address>
pub fn unique_senders(&self) -> HashSet<Address>
Returns all senders in the pool
Sourcepub const fn config(&self) -> &PoolConfig
pub const fn config(&self) -> &PoolConfig
Get the config the pool was configured with.
Sourcepub fn add_pending_listener(
&self,
kind: TransactionListenerKind,
) -> Receiver<TxHash>
pub fn add_pending_listener( &self, kind: TransactionListenerKind, ) -> Receiver<TxHash>
Adds a new transaction listener to the pool that gets notified about every new pending transaction inserted into the pool
Sourcepub fn add_new_transaction_listener(
&self,
kind: TransactionListenerKind,
) -> Receiver<NewTransactionEvent<T::Transaction>>
pub fn add_new_transaction_listener( &self, kind: TransactionListenerKind, ) -> Receiver<NewTransactionEvent<T::Transaction>>
Adds a new transaction listener to the pool that gets notified about every new transaction.
Sourcepub fn add_blob_sidecar_listener(&self) -> Receiver<NewBlobSidecar>
pub fn add_blob_sidecar_listener(&self) -> Receiver<NewBlobSidecar>
Adds a new blob sidecar listener to the pool that gets notified about every new eip4844 transaction’s blob sidecar.
Sourcepub fn add_transaction_event_listener(
&self,
tx_hash: TxHash,
) -> Option<TransactionEvents>
pub fn add_transaction_event_listener( &self, tx_hash: TxHash, ) -> Option<TransactionEvents>
If the pool contains the transaction, this adds a new listener that gets notified about transaction events.
Sourcepub fn add_all_transactions_event_listener(
&self,
) -> AllTransactionsEvents<T::Transaction>
pub fn add_all_transactions_event_listener( &self, ) -> AllTransactionsEvents<T::Transaction>
Adds a listener for all transaction events.
Sourcepub fn get_pool_data(&self) -> RwLockReadGuard<'_, TxPool<T>>
pub fn get_pool_data(&self) -> RwLockReadGuard<'_, TxPool<T>>
Returns a read lock to the pool’s data.
Sourcepub fn pooled_transactions_hashes(&self) -> Vec<TxHash> ⓘ
pub fn pooled_transactions_hashes(&self) -> Vec<TxHash> ⓘ
Returns hashes of transactions in the pool that can be propagated.
Sourcepub fn pooled_transactions(
&self,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn pooled_transactions( &self, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns transactions in the pool that can be propagated
Sourcepub fn pooled_transactions_max(
&self,
max: usize,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn pooled_transactions_max( &self, max: usize, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns only the first max
transactions in the pool that can be propagated.
Sourcepub fn get_pooled_transaction_elements(
&self,
tx_hashes: Vec<TxHash>,
limit: GetPooledTransactionLimit,
) -> Vec<<<V as TransactionValidator>::Transaction as PoolTransaction>::Pooled>
pub fn get_pooled_transaction_elements( &self, tx_hashes: Vec<TxHash>, limit: GetPooledTransactionLimit, ) -> Vec<<<V as TransactionValidator>::Transaction as PoolTransaction>::Pooled>
Returns pooled transactions for the given transaction hashes that are allowed to be propagated.
Sourcepub fn get_pooled_transaction_element(
&self,
tx_hash: TxHash,
) -> Option<Recovered<<<V as TransactionValidator>::Transaction as PoolTransaction>::Pooled>>
pub fn get_pooled_transaction_element( &self, tx_hash: TxHash, ) -> Option<Recovered<<<V as TransactionValidator>::Transaction as PoolTransaction>::Pooled>>
Returns converted pooled transaction for the given transaction hash.
Sourcepub fn on_canonical_state_change<B>(&self, update: CanonicalStateUpdate<'_, B>)where
B: Block,
pub fn on_canonical_state_change<B>(&self, update: CanonicalStateUpdate<'_, B>)where
B: Block,
Updates the entire pool after a new block was executed.
Sourcepub fn update_accounts(&self, accounts: Vec<ChangedAccount>)
pub fn update_accounts(&self, accounts: Vec<ChangedAccount>)
Performs account updates on the pool.
This will either promote or discard transactions based on the new account state.
This should be invoked when the pool drifted and accounts are updated manually
Sourcepub fn add_transaction_and_subscribe(
&self,
origin: TransactionOrigin,
tx: TransactionValidationOutcome<T::Transaction>,
) -> PoolResult<TransactionEvents>
pub fn add_transaction_and_subscribe( &self, origin: TransactionOrigin, tx: TransactionValidationOutcome<T::Transaction>, ) -> PoolResult<TransactionEvents>
Adds a transaction and returns the event stream.
Sourcepub fn add_transactions_with_origins(
&self,
transactions: impl IntoIterator<Item = (TransactionOrigin, TransactionValidationOutcome<T::Transaction>)>,
) -> Vec<PoolResult<AddedTransactionOutcome>> ⓘ
pub fn add_transactions_with_origins( &self, transactions: impl IntoIterator<Item = (TransactionOrigin, TransactionValidationOutcome<T::Transaction>)>, ) -> Vec<PoolResult<AddedTransactionOutcome>> ⓘ
Adds all transactions in the iterator to the pool, each with its individual origin, returning a list of results.
Note: A large batch may lock the pool for a long time that blocks important operations like updating the pool on canonical state changes. The caller should consider having a max batch size to balance transaction insertions with other updates.
Sourcepub fn add_transactions(
&self,
origin: TransactionOrigin,
transactions: impl IntoIterator<Item = TransactionValidationOutcome<T::Transaction>>,
) -> Vec<PoolResult<AddedTransactionOutcome>> ⓘ
pub fn add_transactions( &self, origin: TransactionOrigin, transactions: impl IntoIterator<Item = TransactionValidationOutcome<T::Transaction>>, ) -> Vec<PoolResult<AddedTransactionOutcome>> ⓘ
Adds all transactions in the iterator to the pool, returning a list of results.
Note: A large batch may lock the pool for a long time that blocks important operations like updating the pool on canonical state changes. The caller should consider having a max batch size to balance transaction insertions with other updates.
Sourcepub fn best_transactions(&self) -> BestTransactions<T>
pub fn best_transactions(&self) -> BestTransactions<T>
Returns an iterator that yields transactions that are ready to be included in the block.
Sourcepub fn best_transactions_with_attributes(
&self,
best_transactions_attributes: BestTransactionsAttributes,
) -> Box<dyn BestTransactions<Item = Arc<ValidPoolTransaction<T::Transaction>>>>
pub fn best_transactions_with_attributes( &self, best_transactions_attributes: BestTransactionsAttributes, ) -> Box<dyn BestTransactions<Item = Arc<ValidPoolTransaction<T::Transaction>>>>
Returns an iterator that yields transactions that are ready to be included in the block with the given base fee and optional blob fee attributes.
Sourcepub fn pending_transactions_max(
&self,
max: usize,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn pending_transactions_max( &self, max: usize, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns only the first max
transactions in the pending pool.
Sourcepub fn pending_transactions(
&self,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn pending_transactions( &self, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns all transactions from the pending sub-pool
Sourcepub fn queued_transactions(
&self,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn queued_transactions( &self, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns all transactions from parked pools
Sourcepub fn all_transactions(&self) -> AllPoolTransactions<T::Transaction>
pub fn all_transactions(&self) -> AllPoolTransactions<T::Transaction>
Returns all transactions in the pool
Sourcepub fn all_transaction_hashes(&self) -> Vec<TxHash> ⓘ
pub fn all_transaction_hashes(&self) -> Vec<TxHash> ⓘ
Returns all transactions in the pool
Sourcepub fn remove_transactions(
&self,
hashes: Vec<TxHash>,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn remove_transactions( &self, hashes: Vec<TxHash>, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Removes and returns all matching transactions from the pool.
This behaves as if the transactions got discarded (not mined), effectively introducing a nonce gap for the given transactions.
Sourcepub fn remove_transactions_and_descendants(
&self,
hashes: Vec<TxHash>,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn remove_transactions_and_descendants( &self, hashes: Vec<TxHash>, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Removes and returns all matching transactions and their dependent transactions from the pool.
Sourcepub fn remove_transactions_by_sender(
&self,
sender: Address,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn remove_transactions_by_sender( &self, sender: Address, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Removes and returns all transactions by the specified sender from the pool.
Sourcepub fn retain_unknown<A>(&self, announcement: &mut A)where
A: HandleMempoolData,
pub fn retain_unknown<A>(&self, announcement: &mut A)where
A: HandleMempoolData,
Removes and returns all transactions that are present in the pool.
Sourcepub fn get(
&self,
tx_hash: &TxHash,
) -> Option<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get( &self, tx_hash: &TxHash, ) -> Option<Arc<ValidPoolTransaction<T::Transaction>>>
Returns the transaction by hash.
Sourcepub fn get_transactions_by_sender(
&self,
sender: Address,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get_transactions_by_sender( &self, sender: Address, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns all transactions of the address
Sourcepub fn get_queued_transactions_by_sender(
&self,
sender: Address,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get_queued_transactions_by_sender( &self, sender: Address, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns all queued transactions of the address by sender
Sourcepub fn pending_transactions_with_predicate(
&self,
predicate: impl FnMut(&ValidPoolTransaction<T::Transaction>) -> bool,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn pending_transactions_with_predicate( &self, predicate: impl FnMut(&ValidPoolTransaction<T::Transaction>) -> bool, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns all pending transactions filtered by predicate
Sourcepub fn get_pending_transactions_by_sender(
&self,
sender: Address,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get_pending_transactions_by_sender( &self, sender: Address, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns all pending transactions of the address by sender
Sourcepub fn get_highest_transaction_by_sender(
&self,
sender: Address,
) -> Option<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get_highest_transaction_by_sender( &self, sender: Address, ) -> Option<Arc<ValidPoolTransaction<T::Transaction>>>
Returns the highest transaction of the address
Sourcepub fn get_highest_consecutive_transaction_by_sender(
&self,
sender: Address,
on_chain_nonce: u64,
) -> Option<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get_highest_consecutive_transaction_by_sender( &self, sender: Address, on_chain_nonce: u64, ) -> Option<Arc<ValidPoolTransaction<T::Transaction>>>
Returns the transaction with the highest nonce that is executable given the on chain nonce.
Sourcepub fn get_transaction_by_transaction_id(
&self,
transaction_id: &TransactionId,
) -> Option<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get_transaction_by_transaction_id( &self, transaction_id: &TransactionId, ) -> Option<Arc<ValidPoolTransaction<T::Transaction>>>
Returns the transaction given a TransactionId
Sourcepub fn get_transactions_by_origin(
&self,
origin: TransactionOrigin,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get_transactions_by_origin( &self, origin: TransactionOrigin, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns all transactions that where submitted with the given TransactionOrigin
Sourcepub fn get_pending_transactions_by_origin(
&self,
origin: TransactionOrigin,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get_pending_transactions_by_origin( &self, origin: TransactionOrigin, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns all pending transactions filtered by TransactionOrigin
Sourcepub fn get_all(
&self,
txs: Vec<TxHash>,
) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
pub fn get_all( &self, txs: Vec<TxHash>, ) -> Vec<Arc<ValidPoolTransaction<T::Transaction>>>
Returns all the transactions belonging to the hashes.
If no transaction exists, it is skipped.
Sourcepub fn on_propagated(&self, txs: PropagatedTransactions)
pub fn on_propagated(&self, txs: PropagatedTransactions)
Notify about propagated transactions.
Sourcepub fn is_exceeded(&self) -> bool
pub fn is_exceeded(&self) -> bool
Returns whether or not the pool is over its configured size and transaction count limits.
Sourcepub fn delete_blob(&self, blob: TxHash)
pub fn delete_blob(&self, blob: TxHash)
Delete a blob from the blob store
Sourcepub fn delete_blobs(&self, txs: Vec<TxHash>)
pub fn delete_blobs(&self, txs: Vec<TxHash>)
Delete all blobs from the blob store
Sourcepub fn cleanup_blobs(&self)
pub fn cleanup_blobs(&self)
Cleans up the blob store
Trait Implementations§
Auto Trait Implementations§
impl<V, T, S> !Freeze for PoolInner<V, T, S>
impl<V, T, S> !RefUnwindSafe for PoolInner<V, T, S>
impl<V, T, S> Send for PoolInner<V, T, S>
impl<V, T, S> Sync for PoolInner<V, T, S>
impl<V, T, S> Unpin for PoolInner<V, T, S>
impl<V, T, S> !UnwindSafe for PoolInner<V, T, S>
Blanket Implementations§
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> 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<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
TxEnv
] from a transaction and a sender address.§impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
§fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
TxEnv
] from a transaction, its sender, and encoded transaction bytes.§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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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> 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> 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.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeDebug for Twhere
T: Debug,
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.