Struct fuel_txpool::txpool::TxPool
source · [−]pub struct TxPool { /* private fields */ }Implementations
sourceimpl TxPool
impl TxPool
pub fn new(config: Config) -> Self
pub fn txs(&self) -> &HashMap<TxId, TxInfo>
pub fn dependency(&self) -> &Dependency
pub async fn insert_inner(
&mut self,
tx: ArcTx,
db: &dyn TxPoolDb
) -> Result<Vec<ArcTx>>
sourcepub fn sorted_includable(&self) -> Vec<ArcTx>
pub fn sorted_includable(&self) -> Vec<ArcTx>
Return all sorted transactions that are includable in next block.
pub fn remove_inner(&mut self, tx: &ArcTx) -> Vec<ArcTx>
sourcepub fn remove_by_tx_id(&mut self, tx_id: &TxId) -> Vec<ArcTx>
pub fn remove_by_tx_id(&mut self, tx_id: &TxId) -> Vec<ArcTx>
remove transaction from pool needed on user demand. Low priority
sourcepub async fn insert(
txpool: &RwLock<Self>,
db: &dyn TxPoolDb,
broadcast: Sender<TxStatusBroadcast>,
txs: Vec<ArcTx>
) -> Vec<Result<Vec<ArcTx>>>
pub async fn insert(
txpool: &RwLock<Self>,
db: &dyn TxPoolDb,
broadcast: Sender<TxStatusBroadcast>,
txs: Vec<ArcTx>
) -> Vec<Result<Vec<ArcTx>>>
Import a set of transactions from network gossip or GraphQL endpoints.
sourcepub async fn find(txpool: &RwLock<Self>, hashes: &[TxId]) -> Vec<Option<TxInfo>>
pub async fn find(txpool: &RwLock<Self>, hashes: &[TxId]) -> Vec<Option<TxInfo>>
find all tx by its hash
pub async fn find_one(txpool: &RwLock<Self>, hash: &TxId) -> Option<TxInfo>
sourcepub async fn find_dependent(txpool: &RwLock<Self>, hashes: &[TxId]) -> Vec<ArcTx>
pub async fn find_dependent(txpool: &RwLock<Self>, hashes: &[TxId]) -> Vec<ArcTx>
find all dependent tx and return them with requsted dependencies in one list sorted by Price.
sourcepub async fn filter_by_negative(
txpool: &RwLock<Self>,
tx_ids: &[TxId]
) -> Vec<TxId>
pub async fn filter_by_negative(
txpool: &RwLock<Self>,
tx_ids: &[TxId]
) -> Vec<TxId>
Iterete over hashes and return all hashes that we dont have.
sourcepub async fn includable(txpool: &RwLock<Self>) -> Vec<ArcTx>
pub async fn includable(txpool: &RwLock<Self>) -> Vec<ArcTx>
Return all sorted transactions that are includable in next block. This is going to be heavy operation, use it only when needed.
sourcepub async fn block_update(txpool: &RwLock<Self>)
pub async fn block_update(txpool: &RwLock<Self>)
When block is updated we need to receive all spend outputs and remove them from txpool.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for TxPool
impl Send for TxPool
impl Sync for TxPool
impl Unpin for TxPool
impl UnwindSafe for TxPool
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn 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>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more