fred 9.4.0

An async client for Redis and Valkey.
Documentation
[dependencies.arc-swap]
version = "1.7"

[dependencies.async-trait]
version = "0.1"

[dependencies.bytes]
version = "1.6"

[dependencies.bytes-utils]
version = "0.1.3"

[dependencies.crossbeam-queue]
version = "0.3"

[dependencies.float-cmp]
version = "0.9"

[dependencies.fred-macros]
version = "0.1"

[dependencies.futures]
features = ["std"]
version = "0.3"

[dependencies.futures-io]
optional = true
version = "0.3"

[dependencies.futures-lite]
optional = true
version = "2.3"

[dependencies.glommio]
optional = true
version = "0.9.0"

[dependencies.hickory-resolver]
features = ["tokio"]
optional = true
version = "0.24.1"

[dependencies.local-sync]
optional = true
version = "0.1.1"

[dependencies.log]
version = "0.4"

[dependencies.monoio]
features = ["bytes"]
optional = true
version = "0.2.4"

[dependencies.monoio-codec]
optional = true
version = "0.3.4"

[dependencies.monoio-native-tls]
optional = true
version = "0.4.0"

[dependencies.monoio-rustls]
optional = true
version = "0.4.0"

[dependencies.native-tls]
optional = true
version = "0.2"

[dependencies.nom]
optional = true
version = "7.1"

[dependencies.oneshot]
features = ["async"]
optional = true
version = "0.1.8"

[dependencies.parking_lot]
version = "0.12"

[dependencies.pin-project]
optional = true
version = "1.1.5"

[dependencies.rand]
version = "0.8"

[dependencies.redis-protocol]
features = ["resp2", "resp3", "bytes"]
version = "5.0.1"

[dependencies.rustls]
default-features = false
optional = true
version = "0.23"

[dependencies.rustls-native-certs]
optional = true
version = "0.7"

[dependencies.semver]
version = "1.0"

[dependencies.serde_json]
optional = true
version = "1"

[dependencies.sha-1]
optional = true
version = "0.10"

[dependencies.socket2]
version = "0.5"

[dependencies.tokio]
features = ["net", "sync", "rt", "rt-multi-thread", "macros"]
version = "1.34"

[dependencies.tokio-native-tls]
optional = true
version = "0.3"

[dependencies.tokio-rustls]
default-features = false
optional = true
version = "0.26"

[dependencies.tokio-stream]
version = "0.1"

[dependencies.tokio-util]
features = ["codec"]
version = "0.7"

[dependencies.tracing]
optional = true
version = "0.1"

[dependencies.tracing-futures]
optional = true
version = "0.2"

[dependencies.trust-dns-resolver]
features = ["tokio"]
optional = true
version = "0.23"

[dependencies.url]
version = "2.4"

[dependencies.urlencoding]
version = "2.1"

[dev-dependencies.axum]
features = ["macros"]
version = "0.7"

[dev-dependencies.base64]
version = "0.22.0"

[dev-dependencies.maplit]
version = "1.0"

[dev-dependencies.pretty_env_logger]
version = "0.5"

[dev-dependencies.serde]
features = ["derive"]
version = "1.0"

[dev-dependencies.subprocess]
version = "0.2"

[dev-dependencies.tokio-stream]
features = ["sync"]
version = "0.1"

[[example]]
name = "axum"
path = "examples/axum.rs"
required-features = ["subscriber-client"]

[[example]]
name = "basic"
path = "examples/basic.rs"

[[example]]
name = "blocking"
path = "examples/blocking.rs"

[[example]]
name = "client_tracking"
path = "examples/client_tracking.rs"
required-features = ["i-tracking", "i-std"]

[[example]]
name = "custom"
path = "examples/custom.rs"

[[example]]
name = "dns"
path = "examples/dns.rs"
required-features = ["dns"]

[[example]]
name = "events"
path = "examples/events.rs"
required-features = ["tokio-stream/sync", "i-std"]

[[example]]
name = "glommio"
path = "examples/glommio.rs"
required-features = ["glommio", "i-std"]

[[example]]
name = "keyspace"
path = "examples/keyspace.rs"

[[example]]
name = "lua"
path = "examples/lua.rs"
required-features = ["sha-1", "i-scripts"]

[[example]]
name = "misc"
path = "examples/misc.rs"
required-features = ["i-all"]

[[example]]
name = "monitor"
path = "examples/monitor.rs"
required-features = ["monitor"]

[[example]]
name = "pipeline"
path = "examples/pipeline.rs"

[[example]]
name = "pool"
path = "examples/pool.rs"

[[example]]
name = "pubsub"
path = "examples/pubsub.rs"
required-features = ["subscriber-client"]

[[example]]
name = "redis_json"
path = "examples/redis_json.rs"
required-features = ["i-redis-json"]

[[example]]
name = "replicas"
path = "examples/replicas.rs"
required-features = ["i-std", "i-cluster", "replicas"]

[[example]]
name = "scan"
path = "examples/scan.rs"
required-features = ["i-all"]

[[example]]
name = "sentinel"
path = "examples/sentinel.rs"

[[example]]
name = "serde_json"
path = "examples/serde_json.rs"
required-features = ["serde-json"]

[[example]]
name = "streams"
path = "examples/streams.rs"

[[example]]
name = "tls"
path = "examples/tls.rs"

[[example]]
name = "transactions"
path = "examples/transactions.rs"
required-features = ["transactions", "i-std"]

[features]
blocking-encoding = ["tokio/rt-multi-thread"]
credential-provider = []
custom-reconnect-errors = []
debug-ids = []
default = ["transactions", "i-std"]
default-nil-types = []
dns = ["hickory-resolver"]
enable-native-tls = ["native-tls", "tokio-native-tls"]
enable-rustls = ["rustls", "tokio-rustls", "rustls-native-certs", "rustls/std", "tokio-rustls/logging", "tokio-rustls/tls12", "tokio-rustls/aws_lc_rs"]
enable-rustls-ring = ["rustls", "tokio-rustls", "rustls-native-certs", "rustls/std", "tokio-rustls/logging", "tokio-rustls/tls12", "tokio-rustls/ring"]
full-tracing = ["partial-tracing"]
glommio = ["dep:glommio", "futures-io", "pin-project", "fred-macros/enabled", "oneshot", "futures-lite"]
i-acl = []
i-all = ["i-acl", "i-client", "i-cluster", "i-config", "i-geo", "i-hashes", "i-hyperloglog", "i-keys", "i-lists", "i-scripts", "i-memory", "i-pubsub", "i-server", "i-streams", "i-tracking", "i-sorted-sets", "i-slowlog", "i-sets"]
i-client = []
i-cluster = []
i-config = []
i-geo = ["i-sorted-sets"]
i-hashes = []
i-hyperloglog = []
i-keys = []
i-lists = []
i-memory = []
i-pubsub = []
i-redis-json = ["serde-json"]
i-redis-stack = ["i-redis-json", "i-time-series", "i-redisearch"]
i-redisearch = ["i-sorted-sets", "i-geo", "i-hashes"]
i-scripts = []
i-server = []
i-sets = []
i-slowlog = []
i-sorted-sets = []
i-std = ["i-hashes", "i-keys", "i-lists", "i-sets", "i-streams", "i-pubsub", "i-sorted-sets", "i-server"]
i-streams = []
i-time-series = []
i-tracking = ["i-client", "i-pubsub"]
metrics = []
mocks = []
monitor = ["nom"]
monoio = ["dep:monoio", "monoio-codec", "fred-macros/enabled", "oneshot", "futures-lite", "local-sync"]
monoio-native-tls = ["dep:monoio-native-tls"]
monoio-rustls = ["dep:monoio-rustls"]
network-logs = []
partial-tracing = ["tracing", "tracing-futures"]
replicas = []
sentinel-auth = []
sentinel-client = []
serde-json = ["serde_json"]
smol = []
specialize-into-bytes = []
subscriber-client = ["i-pubsub"]
transactions = []
trust-dns-resolver = ["dep:trust-dns-resolver"]
unix-sockets = []
vendored-openssl = ["enable-native-tls", "native-tls/vendored"]

[lib]
doc = true
name = "fred"
path = "src/lib.rs"
test = true

[package]
authors = ["Alec Embke <aembke@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["asynchronous", "database", "web-programming"]
description = "An async client for Redis and Valkey."
edition = "2021"
exclude = ["tests", ".circleci", "bin", ".github", "docs"]
homepage = "https://github.com/aembke/fred.rs"
keywords = ["redis", "valkey", "cluster", "sentinel"]
license = "MIT"
name = "fred"
readme = "README.md"
repository = "https://github.com/aembke/fred.rs"
rust-version = "1.75"
version = "9.4.0"

[package.metadata.docs.rs]
features = ["i-all", "i-redis-stack", "transactions", "blocking-encoding", "dns", "metrics", "mocks", "monitor", "replicas", "sentinel-auth", "sentinel-client", "serde-json", "subscriber-client", "unix-sockets", "enable-rustls", "enable-native-tls", "full-tracing", "credential-provider", "specialize-into-bytes"]
rustdoc-args = ["--cfg", "docsrs"]