Cargo Features

[dependencies]
cuttlestore = { version = "0.2.1", default-features = false, features = ["backend-redis", "backend-filesystem", "backend-in-memory", "backend-sqlite", "logging-tracing", "logging-log", "backend-sqlite-core", "backend-sqlite-native-tls", "backend-sqlite-rustls", "sqlite-native-tls", "sqlite-rustls"] }
default = backend-in-memory, backend-redis, backend-sqlite, logging-tracing

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

backend-redis default = bb8, bb8-redis, redis
backend-filesystem
backend-in-memory default = dashmap
backend-sqlite default = backend-sqlite-native-tls
logging-tracing default = tracing
logging-log = log
backend-sqlite-core backend-sqlite-native-tls? backend-sqlite-rustls?

Backend customization

For sqlite, we need to pick between native TLS and rustls.

backend-sqlite-native-tls backend-sqlite = backend-sqlite-core, sqlite-native-tls, sqlx
backend-sqlite-rustls = backend-sqlite-core, sqlite-rustls, sqlx
sqlite-native-tls backend-sqlite-native-tls?

Enables runtime-tokio-native-tls of sqlx ^0.6

Sqlite

sqlite-rustls backend-sqlite-rustls?

Enables runtime-tokio-rustls of sqlx ^0.6

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.

log logging-log?

Enables log

Logging errors

tracing logging-tracing
dashmap backend-in-memory

Enables dashmap

== Backend specific


Concurrent in-memory key-value storage, for in-memory

redis backend-redis

Enables redis ^0.22

Redis

bb8 backend-redis

Enables bb8

Connection pool for redis

bb8-redis backend-redis

Enables bb8-redis ^0.12

sqlx backend-sqlite-native-tls? backend-sqlite-rustls? sqlite-native-tls? sqlite-rustls?

Enables sqlx ^0.6