Cargo Features

ockam_node = { version = "0.113.0", default-features = false, features = ["std", "no_std", "alloc", "dump_internals", "metrics", "debugger", "storage"] }
default = std

The std feature is set by default whenever ockam_node is added without default-features = false somewhere in the dependency tree.

std default storage? = alloc, chrono, fs2, opentelemetry, storage, tokio, tracing-error, tracing-opentelemetry, tracing-subscriber

Feature (enabled by default): "std" enables functionality expected to be available on a standard platform.

Enables std of futures, minicbor ^0.21.1, ockam_core, ockam_transport_core, and once_cell

Affects compat::asynchronous, ockam_node::runtime, ockam_node::spawn, storage::database, debugger::generate_graphs

no_std = heapless

Feature: "no_std" enables functionality required for platforms without the standard library.

Enables no_std of ockam_core and ockam_transport_core

alloc std

Feature: "alloc" enables support for heap allocation (implied by feature = "std")

Enables alloc of futures, minicbor ^0.21.1, ockam_core, and ockam_executor


Feature: "dump_internals" when set, will dump the internal state of workers at startup via the trace! macro.


TODO should these features be combined?


Feature: "debugger" enables functionality to trace addresses and message flows within Ockam apps.

Enables debugger of ockam_core

Affects debugger::display_log, debugger::generate_graphs

storage std = regex, serde_json, sqlx, std, time, tokio-retry

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

chrono std
fs2 std
heapless no_std?
ockam_executor alloc?
ockam_transport_core no_std? std
once_cell std
opentelemetry std
regex storage?
serde_json storage?
sqlx storage?
time storage?
tokio std
tokio-retry storage?
tracing-error std
tracing-opentelemetry std
tracing-subscriber std