class FetchTransactionsProtocol : FetchDataProtocol<SignedTransaction, SignedTransaction>
Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.
A malicious response in which the data provided by the remote peer does not hash to the requested hash results in FetchDataProtocol.DownloadedVsRequestedDataMismatch being thrown. If the remote peer doesnt have an entry, it results in a FetchDataProtocol.HashNotFound exception. Note that returned transactions are not inserted into the database, because its up to the caller to actually verify the transactions are valid.
<init> |
FetchTransactionsProtocol(requests: Set<SecureHash>, otherSide: Party) Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them. |
otherSide |
val otherSide: Party |
requests |
val requests: Set<SecureHash> |
load |
fun load(txid: SecureHash): SignedTransaction? |
call |
open fun call(): Result<T> This is where you fill out your business logic. |