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
Identity history
Ockam general bi-directional channel
Async Mutex and RwLock
A facade around the various collections and primitives needed when using “std”, “no_std + alloc” or “no_std” targets.
Ockam pipe protocol structures
Ockam pipe module
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
Identity 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::Identity
.
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
The type of errors returned by Ockam functions.
Unique crate::IdentityChangeEvent
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
Allow to send message to destination address periodically after some delay Only one scheduled heartbeat allowed at a time Dropping this handle cancels scheduled heartbeat
Builder for Identity
Individual change applied to identity. IdentityChangeEvent
consists of one or more such changes
crate::Identity
s are modified using change events mechanism. One event may have 1 or more IdentityChange
s
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 IdentityEventAttributes
map
An identifier of an Identity.
Identity SecureChannel LocalInfo used for LocalMessage
Identity implementation
Attributes that are used to identify key
LocalMessage is a message type that is routed locally within one node.
An encoding for message metadata
A minimal worker implementation that does nothing
A message metadata wrapper type
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.
A componasble worker system type
Represents an XX NewKeyExchanger
Enums
Possible types of crate::Identity
changes
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
The reason why a command was rejected
A command message for router implementations
Specify the type of node shutdown
Types of proof signatures.
Constants
A default timeout in seconds
Identity SecureChannel LocalInfo unique Identifier
TCP address type constant
Traits
Clone trait for async structs.
Identity
Traits required for a Vault implementation suitable for use in an Identity
A user defined message that can be serialised and deserialized
A creator of both initiator and responder peers of a key exchange.
Map a ProtocolPayload
to a protocol specific type
Handle a single type of message for a worker system-address
Base ockam worker trait.
Functions
Start a node
Type Definitions
Contacts Database
Alias of the type used for encoded data.
Identity event attributes
The reply/result of a Node
The type returned by Ockam functions.
Attribute Macros
Marks an async function to be run in an ockam node.
Marks an async test function to be run in an ockam node.
Derive Macros
Custom derive for the ockam_core::AsyncTryClone
trait.
Implements Message trait for a type.