Crate ockam[−][src]
Expand description
Ockam is a library for building devices that communicate securely, privately and trustfully with cloud services and other devices.
Re-exports
pub extern crate hex;Modules
Profile history
A facade around the various collections and primitives needed when using “std”, “no_std + alloc” or “no_std” targets.
A runtime for writing reliable network applications without compromising speed.
Macros
Prints to the standard output, with a newline.
Structs
A generic component address
A passthrough marker message type
A message wraper type that allows users to cancel message receival
Profile changes with a given event identifier
Contact is an abstraction responsible for storing user’s public data (mainly - public keys).
It is designed to share users’ public keys in cryptographically verifiable way.
Public keys together with metadata are organised into verifiable events chain exactly like crate::Profile.
There are two ways to get Contact:
Context contains Node state and references to the runtime.
Key change creation
Key change data creation
Send a delayed event to a worker
Builder for Entity
An identifier of a Profile.
The type of errors returned by Ockam functions.
Unique crate::ProfileChangeEvent identifier, computed as SHA256 of the event data
Ockam node and worker executor
Alias worker to register remote workers under local names.
Wrapper for Context and Address
Attributes that are used to identify key
Entity SecureChannel LocalInfo used for LocalMessage
LocalMessage is a message type that is routed locally within one node.
A mailbox for encoded messages
A minimal worker implementation that does nothing
Individual change applied to profile. ProfileChangeEvent consists of one or more such changes
crate::Profiles are modified using change events mechanism. One event may have 1 or more ProfileChanges
Proof is used to check whether this event comes from a party authorized to perform such updated
Individual changes may include additional proofs, if needed
Pre-defined keys in ProfileEventAttributes map
Profile implementation
A user-defined protocol identifier
A protocol payload wrapper for pre-parsing
This Worker is responsible for registering on Ockam Hub and forwarding messages to local Worker
Information about a remotely forwarded worker.
RotateKeyChange
RotateKeyChangeData
A full route to a peer
A message wrapper that stores message route information
Secure Channel
Signature, its type and data
Vault implementation that stores secrets in memory and uses software crypto.
High level management interface for TCP transports
A generic transport message
A simple generator for unique, human-readable identifiers suitable for use in distributed systems.
Vault allows to start Vault Worker.
Vault sync wrapper
Represents an XX NewKeyExchanger
Enums
Meta-Attributes about a key
Failure states from a router command
Messages sent from the Node to the Executor
Successful return values from a router command
Variants of proofs that are allowed on a crate::Profile change
Possible types of crate::Profile changes
A command message for router implementations
Types of proof signatures.
Constants
A default timeout in seconds
Entity SecureChannel LocalInfo unique Identifier
TCP address type constant
Traits
Clone trait for async structs.
Identity
A user defined message that can be serialised and deserialised
A creator of both initiator and responder peers of a key exchange.
Traits required for a Vault implementation suitable for use in a Profile
Map a ProtocolPayload to a protocol specific type
Base ockam worker trait.
Functions
Type Definitions
Contacts Database
Alias of the type used for encoded data.
The reply/result of a Node
Profile event attributes
The type returned by Ockam functions.