Package-level declarations
Types
SimpleCipher implementation for AES/GCM with 128/192/256 bit keys.
Implements HttpTransport based on the given RpcDispatcher and RpcPoll. Useful to route incoming HTTP requests on the server.
SimpleCipher that does not encrypt or decrypt messages.
An object added to the current coroutine context based on the successful processing of RPC call authorization.
RPC authorization error codes. See RpcAuthException.
RPC authorization failure.
RPC call authorization.
Implementation of RpcAuthInspector that requires each RPC call to be authorized with AssertionRpcAuth object signed by a secure device key (see DeviceAssertion). Authorization is only trusted by timeout duration. Nonce AssertionRpcAuth.nonce uniqueness is checked by nonceChecker and DeviceAttestation that is used to validate AssertionRpcAuth is looked up by the client id using clientLookup.
Interface to issue and add authentication data to RPC messages.
RpcAuthIssuer implementation that authorizes each call with using AssertionRpcAuth object signed by a secure device key. In addition to payload
field in in authorization Cbor map it adds an assertion
field that holds DeviceAssertion.
RPC authorization failure with nonce for retry.
Generated flow interface implementations use this interface to dispatch method calls to the flow implementations, potentially across the network.
RpcDispatcher implementation that dispatches RPC call to a base dispatcher after adding RPC method authorization to it.
RpcDispatcher implementation that dispatches flow method calls through HTTP.
RpcDispatcher implementation that dispatches RPC method calls to to backend ("state") object calls. This is for use in server environment and for testing.
An object that serializes and deserializes exceptions marked with FlowException annotations. All exceptions must be registered using generated ExceptionName.register method both on the client and on the server.
A low-level interface to convey notifications to registered clients.
Implementation for RpcNotifications that can also serve as RpcNotifier for testing/developing in local environment.
Implementation for RpcNotifications that also implements RpcPoll interface to handle long poll method for notification propagation.
A low-level interface to register and unregister for notifications on the client.
RpcNotifier implementation based on RpcPoll interface.
RpcPoll implementation that works through HTTP.
Constants to determine the result kind in Cbor serialization of the method call response.
Interface that is used by the server to (1) protect its data from the client and (2) serve as authentication mechanism (as the client should not be able to generate valid encrypted data). Thus it is important that encryption algorithm provides both data authenticity and confidentiality.