protocols / FetchTransactionsProtocol

# FetchTransactionsProtocol

`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.

### Constructors

<init> | `FetchTransactionsProtocol(requests: Set<SecureHash>, otherSide: SingleMessageRecipient)` Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

### Properties

queryTopic | `val queryTopic: String`

### Inherited Properties

otherSide | `val otherSide: SingleMessageRecipient`
requests | `val requests: Set<SecureHash>`

### Functions

load | `fun load(txid: SecureHash): SignedTransaction?`

### Inherited Functions

call | `open fun call(): Result<T>` This is where you fill out your business logic.

### Companion Object Properties

TOPIC | `const val TOPIC: String`