pub struct MemPoolInner { /* private fields */ }Expand description
Inner mempool state (protected by RwLock in main MemPool).
Implementations§
Source§impl MemPoolInner
impl MemPoolInner
Sourcepub fn get_entry(&self, txid: &Txid) -> Option<&TxMemPoolEntry>
pub fn get_entry(&self, txid: &Txid) -> Option<&TxMemPoolEntry>
Get entry by txid.
Sourcepub fn contains_txid(&self, txid: &Txid) -> bool
pub fn contains_txid(&self, txid: &Txid) -> bool
Check if transaction exists in mempool by txid.
Sourcepub fn contains_wtxid(&self, wtxid: &Wtxid) -> bool
pub fn contains_wtxid(&self, wtxid: &Wtxid) -> bool
Check if transaction exists in mempool by wtxid.
Sourcepub fn get_conflict_tx(&self, outpoint: &COutPoint) -> Option<Txid>
pub fn get_conflict_tx(&self, outpoint: &COutPoint) -> Option<Txid>
Get transaction that spends the given outpoint (conflict detection).
Sourcepub fn calculate_descendants(
&self,
entry_id: EntryId,
descendants: &mut HashSet<EntryId>,
)
pub fn calculate_descendants( &self, entry_id: EntryId, descendants: &mut HashSet<EntryId>, )
Calculate descendants of a transaction (recursively).
Returns set of all descendant entry IDs (including the starting entry).
Sourcepub fn calculate_ancestors(
&self,
entry_id: EntryId,
ancestors: &mut HashSet<EntryId>,
)
pub fn calculate_ancestors( &self, entry_id: EntryId, ancestors: &mut HashSet<EntryId>, )
Calculate ancestors of a transaction (recursively).
Returns set of all ancestor entry IDs (including the starting entry).
Sourcepub fn remove_staged(
&mut self,
to_remove: &HashSet<EntryId>,
update_descendants: bool,
_reason: RemovalReason,
)
pub fn remove_staged( &mut self, to_remove: &HashSet<EntryId>, update_descendants: bool, _reason: RemovalReason, )
Remove transactions and update state.
This is the core removal function that:
- Removes entries from arena
- Updates map_next_tx
- Updates statistics
- Optionally updates ancestor/descendant state for surviving children (RBF)
Sourcepub fn trim_to_size(&mut self, max_size: u64)
pub fn trim_to_size(&mut self, max_size: u64)
Trim mempool to maximum size by evicting lowest-feerate transactions.
Sourcepub fn total_size(&self) -> u64
pub fn total_size(&self) -> u64
Get total transaction size in bytes.
Sourcepub fn total_fees(&self) -> Amount
pub fn total_fees(&self) -> Amount
Get total fees.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MemPoolInner
impl RefUnwindSafe for MemPoolInner
impl Send for MemPoolInner
impl Sync for MemPoolInner
impl Unpin for MemPoolInner
impl UnwindSafe for MemPoolInner
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
Mutably borrows from an owned value. Read more
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
§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>
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 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>
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§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.