Cargo Features

[dependencies]
ctfs = { version = "1.0.2", default-features = false, features = ["std", "persistence", "networking"] }
default = std

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

std default networking? persistence? = libc

Enables std of blake3

blake3:

Enables std::io traits, including impl Write for Hasher, impl Read and Seek for OutputReader, and the Hasher::update_reader method. This feature is enabled by default. (Previously this also controlled runtime CPU feature detection on x86, but now we use the no-std-compatible cpufeatures crate for that.) Also enables the std feature of the constant_time_eq dependency, which toggles a runtime feature check on 64-bit ARM targets.

Affects escrow::pending, algebra::causal_consistency, checkpoint::wal_truncate, checkpoint::CheckpointManager, metrics::prometheus

persistence = crc32fast, io-uring, std

Affects core::persistence, worker::ZeroCopyNetworkWorker, worker::ZeroCopyNetworkHandle, worker::ZeroCopyBroadcastEntry, worker::ZeroCopyCommand

networking = crc32fast, std, tokio

Affects metrics::http, ctfs::network

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.

libc std
tokio networking?
crc32fast networking? persistence?
io-uring linux persistence?