Cargo Features

Gneiss-mqtt has no features set by default.

[dependencies]
gneiss-mqtt = { version = "0.5.0", features = ["strict", "testing", "tokio", "tokio-rustls", "tokio-native-tls", "tokio-websockets", "threaded", "threaded-rustls", "threaded-native-tls", "threaded-websockets"] }
strict

treats warnings as errors, only intended for internal checks

testing

enables environmentally-controlled integration tests and long-running tests (30+ seconds) that check reconnect, backoff, etc...

Enables assert_matches, test-case, and uuid

assert_matches:

only included in test builds

Affects gneiss-mqtt::testing

tokio tokio-native-tls? tokio-rustls? tokio-websockets?

enables the tokio-based async client

Enables tokio

Affects asynchronous::tokio, config::TokioOptions, config::TokioOptionsBuilder

tokio-rustls = tokio

Enables rustls, rustls-native-certs ^0.7, rustls-pemfile, rustls-pki-types, and tokio-rustls

tokio-native-tls = tokio

Enables native-tls and tokio-native-tls

tokio-websockets = tokio

Enables http ^0.2, stream-ws, tokio-tungstenite ^0.20, and tungstenite ^0.20

stream-ws:

this dependency is an albatross

Affects config::AsyncWebsocketHandshakeTransformReturnType, config::AsyncWebsocketHandshakeTransform, config::AsyncWebsocketOptions, config::AsyncWebsocketOptionsBuilder

threaded threaded-native-tls? threaded-rustls? threaded-websockets?

enables the thread-based sync client; does not add any dependencies

Affects config::ThreadedOptions, config::ThreadedOptionsBuilder, synchronous::threaded

threaded-rustls = threaded

Enables rustls, rustls-native-certs ^0.7, rustls-pemfile, and rustls-pki-types

threaded-native-tls = threaded

Enables native-tls

threaded-websockets = threaded

Enables http ^0.2 and tungstenite ^0.20

Affects config::SyncWebsocketHandshakeTransformReturnType, config::SyncWebsocketHandshakeTransform, config::SyncWebsocketOptions, config::SyncWebsocketOptionsBuilder