Crate ockam

source · []
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 to support std, no_std + alloc or no_std targets.

A set of Ockam system handlers

Ockam pipe protocol structures

Ockam pipe module

Pipe2 composition system

A runtime for writing reliable network applications without compromising speed.

Macros

Prints to the standard output, with a newline.

Creates a new Route from a comma-delimited list of Addresses.

Structs

A generic address type.

A passthrough marker message type.

A message wrapper 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

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

The type of errors returned by Ockam functions.

Unique crate::IdentityChangeEvent identifier, computed as SHA256 of the event data

Underlying Ockam node executor

Alias worker to register remote workers under local names.

Builder for Identity

Individual change applied to identity. IdentityChangeEvent consists of one or more such changes

crate::Identitys are modified using change events mechanism. One event may have 1 or more IdentityChanges 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

An identifier of an Identity.

Identity SecureChannel LocalInfo used for LocalMessage

Identity implementation

Attributes that are used to identify key

A message type that is routed locally within a single 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 provides message route information.

Secure Channel

Signature, its type and data

Vault implementation that stores secrets in memory and uses software crypto.

An abstraction to build a worker system graph

High level management interface for TCP transports

A generic transport message type.

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

The command message type 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

Defines the core interface shared by all Ockam Workers.

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 result 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.