Cargo Features

[dependencies]
cdns-rs = { version = "1.2.2", default-features = false, features = ["enable_IDN_support", "use_sync", "use_sync_tls", "use_async", "use_async_tls", "use_async_tokio", "use_async_tokio_tls", "no_error_output", "built_in_async", "example_tokio_en"] }

Since v 0.2.2 this project is relicensed with MPLv2.0. The contributors and authors agreed to change license: Aleksandr Morozov RELKOM s.r.o

external: Contains MIT-Licensed code by Martin Carton https://github.com/mcarton/rust-punycode

default = enable_IDN_support, no_error_output, use_async_tokio, use_sync

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

enable_IDN_support default

Affects common::with_punycode, external::rust_punycode

use_sync default

-- SYNC
Enables the sync code

Enables byteorder and crossbeam-utils

crossbeam-utils:

sync

Affects cdns-rs::sync

use_sync_tls

Adds the TLS support

Enables rustls, webpki, and webpki-roots

Affects network::with_tls

use_async use_async_tokio

-- ASYNC
- Only one of the below can be enabled at a time.

Enables the async code without any built-in async executor and std.

Enables async-recursion, async-trait, and byteorder

Affects cdns-rs::a_sync

use_async_tls use_async_tokio_tls?

Enables the TLS realization

Affects network::SocketTaps.new_tls_socket

use_async_tokio default = built_in_async, use_async

- OR
Enables the async code with built-in async executor based on tokio.

Enables tokio

async

Affects a_sync::tokio_exc, a_sync::SocketBase, a_sync::IoInterf

use_async_tokio_tls = use_async_tls

+ Enables the async tokio TLS support.

Enables rustls, tokio-rustls, webpki, and webpki-roots

Affects tokio_exc::with_tls

no_error_output default

--
forces no error output

built_in_async use_async_tokio

private item, do not use directly.

Affects caches::CachesController, query::QDns

example_tokio_en

Enables tokio