EnclaveTransport

public interface EnclaveTransport

Represents a transport layer between the client and enclave host. EnclaveTransport defines how a host needs to behave to be able to support EnclaveClient objects that connect to it. It is responsible for transporting encrypted bytes between the host and client, whilst EnclaveClient deals with the encryption and decryption and retry attempts if the enclave is restarted.

Details such as how to start and shutdown the transport are implementation specific.

The Conclave SDK provides com.r3.conclave.client.web.WebEnclaveTransport as an implementation for connecting the client to a host which is using the conclave-web-host.

See also

Types

ClientConnection
Link copied to clipboard
public interface ClientConnection

Represents the connection between an EnclaveClient and an enclave host. A connection is created when the client calls EnclaveClient.start which then goes on to call EnclaveTransport.connect. There may be multiple clients connected to a single EnclaveTransport and each connection must be able to disambiguate between all of them.

Methods

connect
Link copied to clipboard
abstract EnclaveTransport.ClientConnection connect(EnclaveClient client)

A request to connect the given client to the host. This is called when the client calls EnclaveClient.start.

enclaveInstanceInfo
Link copied to clipboard
abstract EnclaveInstanceInfo enclaveInstanceInfo()

Retrieve the latest version of the enclave's EnclaveInstanceInfo from the host.

The implementation will most likely need to call EnclaveInstanceInfo.deserialize once the bytes have been received from the host.

Inheritors

WebEnclaveTransport
Link copied to clipboard