Cargo Features
[dependencies]
async-nats = { version = "0.40.0", default-features = false, features = ["service", "websockets", "aws-lc-rs", "ring", "fips", "experimental", "server_2_10", "server_2_11", "slow_tests", "compatibility_tests"] }
- default = ring, server_2_10, server_2_11
-
These default features are set whenever
async-nats
is added without
somewhere in the dependency tree.default-features = false - service
-
Enables Service API for the client.
Affects
async-nats::service
… - websockets
-
Enables tokio-websockets ^0.10
- aws-lc-rs fips?
-
Enables aws-lc-rs, aws_lc_rs of rustls-webpki ^0.102 and aws-lc-rs of tokio-rustls and optional tokio-websockets ^0.10
tokio-rustls:
Alias because Cargo features commonly use
-
- ring default
-
Enables ring, ring of tokio-rustls and optional tokio-websockets ^0.10
- fips = aws-lc-rs
-
Enables fips of tokio-rustls
- experimental
-
All experimental features are part of this feature flag.
- server_2_10 default
-
Features that require nats-server version 2.10 or higher.
It is enabled by default since official 2.10 nats-server release.Affects
consumer::Config.filter_subjects
,consumer::Config.metadata
,pull::OrderedConfig.filter_subjects
,pull::OrderedConfig.metadata
,pull::Config.filter_subjects
,pull::Config.metadata
,push::Config.filter_subjects
,push::Config.metadata
,push::OrderedConfig.filter_subjects
,push::OrderedConfig.metadata
,kv::Config.compression
,stream::Config.metadata
,stream::Config.subject_transform
,stream::Config.compression
,stream::Config.consumer_limits
,stream::Config.first_sequence
,stream::Source.subject_transforms
… - server_2_11 default
-
Affects
consumer::Info.paused
,consumer::Info.pause_remaining
,consumer::Config.priority_policy
,consumer::Config.priority_groups
,consumer::Config.pause_until
,consumer::PriorityPolicy
,pull::Config.priority_policy
,pull::Config.priority_groups
,pull::Config.pause_until
,push::Config.pause_until
,stream::Config.pause_until
,stream::Config.allow_message_ttl
,stream::Config.subject_delete_marker_ttl
,stream::PauseResponse
… - slow_tests
-
Used for enabling/disabling tests that by design take a lot of time to complete.
Those tests are usually used for time-sensitive checks, like consumer heartbeats, longer timeouts, etc. - compatibility_tests
-
Used for tests that ensure compatibility across client libraries in APIs that are abstraction layer build on top of NATS server features (Service API, KV, Object Store etc.)