Cargo Features

[dependencies]
gel-stream = { version = "0.4.5", default-features = false, features = ["full", "server", "serde", "tokio", "rustls", "openssl", "hickory", "keepalive", "pem", "optimization"] }
default = tokio

rustls or openssl imply tokio, and tokio is the only stream we support at this time.

full = client, hickory, keepalive, openssl, optimization, pem, rustls, server, tokio
client server full?
serde

Enables serde

feature = serde

tokio default full? openssl? rustls?

Enables tokio of derive-io and socket2 ^0.5.2 and tokio

socket2:

feature = "keepalive"/"optimization"

Affects common::tokio_stream, common::BaseStream, stream::Stream, stream::PeekableStream.poll_peek, stream::PeekableStream.peek, target::PeerCred.peer_cred

rustls full? = tokio

Enables rustls, rustls-platform-verifier ^0.5.1, rustls-tokio-stream ^0.6.0, webpki, and webpki-roots

rustls:

We rely on certain aspects of these crates. Use caution when upgrading.

Affects common::rustls, tls::Ssl

openssl full? = tokio

Enables foreign-types ^0.3, openssl, openssl-probe ^0.1.6, openssl-sys, tokio-openssl, and webpki-root-certs

foreign-types:

Get these from openssl

Affects common::openssl, tls::Ssl

hickory full?

Enables hickory-resolver

keepalive full?

Enables socket2 ^0.5.2

pem full?

Enables rustls-pemfile

feature = pem

Affects gel-stream::test_keys.SERVER_KEY, gel-stream::test_keys.SERVER_ALT_KEY, gel-stream::test_keys.CLIENT_KEY

optimization full?

Enables socket2 ^0.5.2

Affects stream::StreamOptimization, stream::BulkStreamDirection, stream::StreamOptimizationExt, stream::StreamOptimizationExt.optimize_for

__test_keys

Provide test certificates, authorities and keys for easier downstream testing

Affects gel-stream::test_keys