com.r3corda.protocols / FetchAttachmentsProtocol

# FetchAttachmentsProtocol

`class FetchAttachmentsProtocol : FetchDataProtocol<Attachment, ByteArray>`

Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded attachments are saved to local storage automatically.

### Constructors

<init> | `FetchAttachmentsProtocol(requests: Set<SecureHash>, otherSide: Party)` Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded attachments are saved to local storage automatically.

### Properties

topic | `val topic: String` The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. Note that this is temporary until protocol sessions are properly implemented.

### Inherited Properties

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

### Functions

convert | `fun convert(wire: ByteArray): Attachment`
load | `fun load(txid: SecureHash): Attachment?`
maybeWriteToDisk | `fun maybeWriteToDisk(downloaded: List<Attachment>): Unit`

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