Cargo Features

[dependencies]
freenet = { version = "0.0.6", default-features = false, features = ["rocks_db", "sqlite", "websocket", "trace", "network-mode", "testing"] }
default = rocks_db, trace, websocket

These default features are set whenever freenet is added without default-features = false somewhere in the dependency tree.

rocks_db default = rocksdb

Affects storages::rocks_db, storages::Storage

sqlite = sqlx

Affects storages::sqlite, storages::Storage

websocket default

Enables axum ^0.6

Affects freenet::server

trace default = opentelemetry, opentelemetry-jaeger, tracing, tracing-opentelemetry, tracing-subscriber
local-mode network-mode
testing = arbitrary

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.

sqlx sqlite?
rocksdb rocks_db

Enables rocksdb ^0.21.0

TODO(kakoc): clang should be installed for rocksdb; write about that in prerequisites/dev guide

tracing trace

Enables tracing

Tracing deps

opentelemetry trace

Enables opentelemetry ^0.20.0

opentelemetry-jaeger trace

Enables opentelemetry-jaeger ^0.19.0

tracing-opentelemetry trace

Enables tracing-opentelemetry ^0.21.0

tracing-subscriber trace
arbitrary testing?