zebrad::components::mempool

Type Alias InboundTxDownloads

source
type InboundTxDownloads = Downloads<Timeout<Buffer<BoxService<Request, Response, BoxError>, Request>>, Timeout<Buffer<BoxService<Request, Response, TransactionError>, Request>>, Buffer<BoxService<Request, Response, BoxError>, Request>>;

Aliased Type§

struct InboundTxDownloads {
    network: Timeout<Buffer<BoxService<Request, Response, Box<dyn Error + Sync + Send>>, Request>>,
    verifier: Timeout<Buffer<BoxService<Request, Response, TransactionError>, Request>>,
    state: Buffer<BoxService<Request, Response, Box<dyn Error + Sync + Send>>, Request>,
    pending: FuturesUnordered<JoinHandle<Result<Result<(VerifiedUnminedTx, Vec<OutPoint>, Option<Height>, Option<Sender<Result<(), Box<dyn Error + Sync + Send>>>>), (TransactionDownloadVerifyError, UnminedTxId)>, Elapsed>>>,
    cancel_handles: HashMap<UnminedTxId, (Sender<CancelDownloadAndVerify>, Gossip)>,
}

Fields§

§network: Timeout<Buffer<BoxService<Request, Response, Box<dyn Error + Sync + Send>>, Request>>

A service that forwards requests to connected peers, and returns their responses.

§verifier: Timeout<Buffer<BoxService<Request, Response, TransactionError>, Request>>

A service that verifies downloaded transactions.

§state: Buffer<BoxService<Request, Response, Box<dyn Error + Sync + Send>>, Request>

A service that manages cached blockchain state.

§pending: FuturesUnordered<JoinHandle<Result<Result<(VerifiedUnminedTx, Vec<OutPoint>, Option<Height>, Option<Sender<Result<(), Box<dyn Error + Sync + Send>>>>), (TransactionDownloadVerifyError, UnminedTxId)>, Elapsed>>>

A list of pending transaction download and verify tasks.

§cancel_handles: HashMap<UnminedTxId, (Sender<CancelDownloadAndVerify>, Gossip)>

A list of channels that can be used to cancel pending transaction download and verify tasks. Each channel also has the corresponding request.