Cargo Features

[dependencies]
fred = { version = "9.3.0", default-features = false, features = ["blocking-encoding", "custom-reconnect-errors", "default-nil-types", "dns", "metrics", "mocks", "monitor", "replicas", "sentinel-auth", "sentinel-client", "serde-json", "subscriber-client", "transactions", "trust-dns-resolver", "unix-sockets", "credential-provider", "glommio", "enable-rustls", "enable-rustls-ring", "enable-native-tls", "vendored-openssl", "i-acl", "i-all", "i-client", "i-cluster", "i-config", "i-geo", "i-hashes", "i-hyperloglog", "i-keys", "i-lists", "i-memory", "i-pubsub", "i-scripts", "i-server", "i-sets", "i-slowlog", "i-sorted-sets", "i-std", "i-streams", "i-tracking", "i-redis-json", "i-redis-stack", "i-redisearch", "i-time-series", "full-tracing", "partial-tracing", "debug-ids", "network-logs", "sha-1"] }
default = i-std, transactions

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

blocking-encoding

Enables tokio

Affects config::PerformanceConfig.blocking_encode_threshold, utils::arg_size, utils::args_size

custom-reconnect-errors

Affects config::ReconnectError, config::ConnectionConfig.reconnect_errors

default-nil-types
dns = hickory-resolver

Affects _tokio::ClientLike.set_resolver, interfaces::ClientLike.set_resolver

metrics

Affects metrics::MetricsInterface.read_latency_metrics, metrics::MetricsInterface.take_latency_metrics, metrics::MetricsInterface.read_network_latency_metrics, metrics::MetricsInterface.take_network_latency_metrics, metrics::MetricsInterface.read_req_size_metrics, metrics::MetricsInterface.take_req_size_metrics, metrics::MetricsInterface.read_res_size_metrics, metrics::MetricsInterface.take_res_size_metrics, inner::RedisClientInner.latency_stats, inner::RedisClientInner.network_latency_stats, inner::RedisClientInner.req_size_stats, inner::RedisClientInner.res_size_stats, codec::RedisCodec.req_size_stats, codec::RedisCodec.res_size_stats, command::RedisCommand.created

mocks

Affects modules::mocks, utils::mocked_value_to_frame, config::RedisConfig.mocks

monitor = nom

Affects fred::monitor

replicas

Affects inner::ServerState.replicas, connection::request_response, types::SlotRange.replicas, utils::parse_master_role_replicas, router::Router.replicas, replicas::ReplicaFilter, replicas::ReplicaConfig, replicas::ReplicaRouter, replicas::ReplicaSet, replicas::Replicas, replicas::map_replica_tls_names, responses::broadcast_replica_error, utils::sync_replicas_with_policy, config::ConnectionConfig.replica, replicas::map_replica_tls_names

sentinel-auth

Affects utils::parse_url_sentinel_username, utils::parse_url_sentinel_password

sentinel-client

Affects impls::sentinel, interfaces::sentinel, config::SentinelConfig, misc::SentinelFailureKind

serde-json i-redis-json? = serde_json
subscriber-client = i-pubsub
transactions default

Affects interfaces::transactions, transactions::TransactionInterface, router::transactions, utils::cluster_redirect_with_policy, utils::random_u64, utils::read_mutex, utils::set_mutex

trust-dns-resolver

Enables trust-dns-resolver

unix-sockets

Affects utils::path_to_string, utils::parse_unix_url

credential-provider

Affects inner::RedisClientInner.credentials_task, config::CredentialProvider, config::RedisConfig.credential_provider, config::CredentialProvider

glommio = futures-io, futures-lite, oneshot, pin-project

Enable experimental support for the Glommio runtime.

Enables glommio, enabled of fred-macros

Affects connection::TcpStream, types::Resolve, config::ConnectionConfig.router_task_queue, config::ConnectionConfig.connection_task_queue, config::CredentialProvider

enable-rustls = rustls, rustls-native-certs, tokio-rustls

Enables rustls with the rustls/aws_lc_rs crypto backend

Enables std of rustls, aws_lc_rs, logging and tls12 of tokio-rustls

Affects utils::tls_config_from_url, cluster::modify_cluster_slot_hostnames, protocol::tls, types::Server.tls_server_name, replicas::map_replica_tls_names, config::RedisConfig.tls, config::SentinelConfig.tls, utils::check_tls_features, utils::tls_config_from_url

enable-rustls-ring = rustls, rustls-native-certs, tokio-rustls

Enables rustls with the rustls/ring backend

Enables std of rustls, logging, ring and tls12 of tokio-rustls

Affects utils::tls_config_from_url, cluster::modify_cluster_slot_hostnames, protocol::tls, types::Server.tls_server_name, config::RedisConfig.tls, config::SentinelConfig.tls, utils::check_tls_features, utils::tls_config_from_url

enable-native-tls vendored-openssl? = native-tls, tokio-native-tls

Enables native tls

Affects utils::tls_config_from_url, cluster::modify_cluster_slot_hostnames, protocol::tls, types::Server.tls_server_name, replicas::map_replica_tls_names, config::RedisConfig.tls, config::SentinelConfig.tls, utils::check_tls_features, utils::tls_config_from_url

vendored-openssl = enable-native-tls

Enables native tls with vendored openssl

Enables vendored of native-tls

i-acl i-all?

Standard Redis Interfaces

Affects impls::acl, interfaces::acl

i-all = i-acl, i-client, i-cluster, i-config, i-geo, i-hashes, i-hyperloglog, i-keys, i-lists, i-memory, i-pubsub, i-scripts, i-server, i-sets, i-slowlog, i-sorted-sets, i-streams, i-tracking
i-client i-all? i-tracking?

Affects impls::client, interfaces::client

i-cluster i-all?

Affects impls::cluster, interfaces::cluster

i-config i-all?

Affects impls::config, interfaces::config

i-geo i-all? i-redisearch? = i-sorted-sets

Affects impls::geo, interfaces::geo, utils::assert_array_len, utils::f64_opt_eq, impls::CHANGED

i-hashes i-all? i-redisearch? i-std

Affects impls::hashes, interfaces::hashes, utils::flatten_frame, utils::frame_to_map

i-hyperloglog i-all?

Affects impls::hyperloglog, interfaces::hyperloglog

i-keys i-all? i-std

Affects impls::keys, interfaces::keys

i-lists i-all? i-std

Affects impls::lists, interfaces::lists, utils::check_null_timeout, impls::LIMIT

i-memory i-all?

Affects impls::memory, interfaces::memory, misc::DatabaseMemoryStats, misc::MemoryStats, utils::convert_or_default

i-pubsub i-all? i-std i-tracking? subscriber-client?

Affects impls::pubsub, interfaces::pubsub

i-scripts i-all?

Affects impls::lua, interfaces::lua, utils::value_to_functions

i-server i-all? i-std

Affects _tokio::ClientLike.shutdown, server::failover, server::wait, interfaces::server, interfaces::ClientLike.shutdown

i-sets i-all? i-std

Affects impls::sets, interfaces::sets

i-slowlog i-all?

Affects impls::slowlog, interfaces::slowlog

i-sorted-sets i-all? i-geo? i-redisearch? i-std

Affects impls::sorted_sets, interfaces::sorted_sets, utils::f64_to_zrange_bound, utils::check_lex_str, impls::CHANGED, utils::check_null_timeout, impls::LIMIT

i-std default = i-hashes, i-keys, i-lists, i-pubsub, i-server, i-sets, i-sorted-sets, i-streams
i-streams i-all? i-std

Affects impls::streams, interfaces::streams, impls::LIMIT

i-tracking i-all? = i-client, i-pubsub

Affects impls::tracking, client::ClientInterface.client_tracking, client::ClientInterface.client_trackinginfo, client::ClientInterface.client_getredir, client::ClientInterface.client_caching, interfaces::tracking, inner::Notifications.invalidations, command::RedisCommand.caching, client::Toggle, client::Invalidation, config::Options.caching

i-redis-json i-redis-stack? = serde-json

Redis Stack Interfaces

Affects impls::redis_json, interfaces::redis_json

i-redis-stack = i-redis-json, i-redisearch, i-time-series
i-redisearch i-redis-stack? = i-geo, i-hashes, i-sorted-sets

Affects impls::redisearch, interfaces::redisearch

i-time-series i-redis-stack?

Affects impls::timeseries, interfaces::timeseries

full-tracing = partial-tracing

Full and partial tracing

Affects enabled::CommandTraces.queued, enabled::create_args_span, enabled::create_queued_span, enabled::create_pubsub_span, config::TracingConfig.full_tracing_level, utils::request_response, utils::arg_size, utils::args_size

partial-tracing full-tracing? = tracing, tracing-futures

Affects command::RedisCommand.traces, config::RedisConfig.tracing, config::TracingConfig, config::SentinelConfig.tracing, utils::request_response, utils::arg_size, utils::args_size

debug-ids

Debugging Features

Affects command::command_counter, command::RedisCommand.counter

network-logs

Affects protocol::debug

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.

native-tls enable-native-tls? vendored-openssl?
nom monitor?
rustls enable-rustls? enable-rustls-ring?
rustls-native-certs enable-rustls? enable-rustls-ring?

Enables rustls-native-certs ^0.7

serde_json serde-json?
sha-1 implicit feature

Enables sha-1

sha-1:

SHA-1 hash function. This crate is deprecated! Use the sha1 crate instead.

Affects lua::script_load_cluster, lua::LuaInterface.script_load_cluster, fred::util.sha1_hash

tokio-native-tls enable-native-tls?
tokio-rustls enable-rustls? enable-rustls-ring?
tracing partial-tracing?
tracing-futures partial-tracing?
hickory-resolver dns?
futures-io glommio?
pin-project glommio?
oneshot glommio?
futures-lite glommio?