tuweni / org.apache.tuweni.devp2p.eth / EthRequestsManager

EthRequestsManager

interface EthRequestsManager (source)

Requests manager used to request and check requests of block data

Functions

connectionSelectionStrategy

Strategy to pick a connection.

abstract fun connectionSelectionStrategy(): ConnectionSelectionStrategy

requestBlock

Requests a block from block hash

abstract fun requestBlock(blockHash: Hash, connection: WireConnection = connectionSelectionStrategy().selectConnection()): AsyncResult<Block>

requestBlockBodies

Requests block bodies from block hashes

abstract fun requestBlockBodies(blockHashes: List<Hash>, connection: WireConnection = connectionSelectionStrategy().selectConnection()): AsyncResult<List<BlockBody>>

requestBlockHeader

Requests a block header

abstract fun requestBlockHeader(blockHash: Hash, connection: WireConnection = connectionSelectionStrategy().selectConnection()): AsyncResult<BlockHeader>

requestBlockHeaders

Requests block headers

abstract fun requestBlockHeaders(blockHashes: List<Hash>, connection: WireConnection = connectionSelectionStrategy().selectConnection()): AsyncResult<List<BlockHeader>>
abstract fun requestBlockHeaders(blockHash: Hash, maxHeaders: Long, skip: Long, reverse: Boolean, connection: WireConnection = connectionSelectionStrategy().selectConnection()): AsyncResult<List<BlockHeader>>
abstract fun requestBlockHeaders(blockNumber: Long, maxHeaders: Long, skip: Long, reverse: Boolean, connection: WireConnection = connectionSelectionStrategy().selectConnection()): AsyncResult<List<BlockHeader>>

requestTransactionReceipts

Requests transaction receipts

abstract fun requestTransactionReceipts(blockHashes: List<Hash>, connection: WireConnection = connectionSelectionStrategy().selectConnection()): AsyncResult<List<List<TransactionReceipt>>>

submitPooledTransaction

Submits a new pending transaction to the transaction pool to be gossiped to peers.

abstract suspend fun submitPooledTransaction(vararg tx: Transaction): Unit

Inheritors

EthClient

Client of the ETH subprotocol, allowing to request block and node data

open class EthClient : EthRequestsManager, SubProtocolClient