Cargo Features

[dependencies]
agnostic-net = { version = "0.2.0", default-features = false, features = ["std", "tokio-io", "tokio", "async-std", "smol", "tracing"] }
default = std

The std feature is set by default whenever agnostic-net is added without default-features = false somewhere in the dependency tree.

std default async-std? smol? tokio? tokio-io?
tokio-io tokio? = std

This feature must be used with net feature
by enable this feature, TcpStream will implement
both futures::AsyncRead/AsyncWrite and tokio::io::AsyncRead/AsyncWrite.
But if you are using tokio, this feature can be ignored.

Enables tokio of agnostic-io

tokio = pin-project-lite, std, tokio-io, tokio-stream

Enables macros, rt, sync and time of tokio, tokio of agnostic-io and agnostic-lite

async-std = async-io, pin-project-lite, std

Enables feature-extension-for-async-std, async-std of agnostic-lite

smol = async-io, pin-project-lite, std

Enables feature-extension-for-smol, smol of agnostic-lite

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.

tokio-stream tokio?
async-io async-std? smol?
pin-project-lite async-std? smol? tokio?
tracing implicit feature

Enables tracing

tracing:

Application-level tracing for Rust