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,
tx_status_sender: Sender<TxStatusBroadcast>,
txs: Vec<ArcTx>
) -> Vec<Result<Vec<ArcTx>>>
pub async fn insert(
txpool: &RwLock<Self>,
db: &dyn TxPoolDb,
tx_status_sender: 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 requested 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>
Iterate over hashes and return all hashes that we don’t have.
sourcepub async fn consumable_gas(txpool: &RwLock<Self>) -> u64
pub async fn consumable_gas(txpool: &RwLock<Self>) -> u64
The amount of gas in all includable transactions combined
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>, block: Arc<FuelBlock>)
pub async fn block_update(txpool: &RwLock<Self>, block: Arc<FuelBlock>)
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 Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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