Cargo Features

[dependencies]
product-os-tower = { version = "0.0.4", default-features = false, features = ["std", "full", "balance", "discover", "filter", "limit", "load", "load-shed", "log", "make", "ready-cache", "reconnect", "retry", "steer", "timeout", "util", "tokio_async", "hedge", "buffer", "spawn-ready", "toad-hash", "tokio-stream"] }
default = std

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

std default = tower

Enables std of no-std-compat

full = discover, filter, hedge, limit, load, load-shed, make, ready-cache, reconnect, retry, spawn-ready, steer, timeout, util
balance = discover, load, make, ready-cache, slab, util

Affects no_std::balance

discover balance? full? = futures-core, pin-project-lite

Affects no_std::discover

filter full? hedge? = futures-core, futures-util, pin-project-lite

Affects no_std::filter, util::ServiceExt.filter, util::ServiceExt.filter_async

limit full? = futures-core, pin-project-lite, product-os-async-executor, product-os-semaphore, tracing

"tokio/time", "tokio/sync", "tokio-util",

Enables alloc of chrono, moment of product-os-async-executor

Affects no_std::limit

load balance? full? = futures-core, libm, pin-project-lite, tracing

"tokio/time",

Enables alloc of chrono, moment of product-os-async-executor, mutex and spin_mutex of spin

Affects no_std::load

load-shed full? = futures-core, pin-project-lite

Affects no_std::load_shed

log

Enables log of tracing

make balance? full? reconnect? = futures-util, pin-project-lite, product-os-async-executor

"tokio/io-std"

Affects no_std::make

ready-cache balance? full? = futures-core, futures-util, indexmap, pin-project-lite, tracing

"tokio/sync",

Enables hasher of product-os-security

Affects no_std::ready_cache

reconnect full? = make, tracing

"tokio/io-std",

Affects no_std::reconnect

retry full? = futures-core, pin-project-lite, product-os-async-executor, util

"tokio/time"

Enables alloc of chrono, moment of product-os-async-executor, mutex and spin_mutex of spin

Affects no_std::retry

steer full?

Affects no_std::steer

timeout full? = pin-project-lite, product-os-async-executor

Affects no_std::timeout

util balance? full? hedge? retry? spawn-ready? = futures-core, futures-util, pin-project-lite, sync_wrapper

Enables hasher of product-os-security

Affects no_std::util

tokio_async

std or tokio required

Enables io-std of tokio

hedge full? = filter, futures-util, hdrhistogram, tracing, util

Enables time of tokio

Affects no_std::hedge

buffer = futures-core, pin-project-lite, tokio-util, tracing

Enables rt of tokio

Affects no_std::buffer

spawn-ready full? = futures-core, futures-util, pin-project-lite, tracing, util

Enables rt of tokio

tokio:

Includes basic task execution capabilities

Affects no_std::spawn_ready

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.

futures-core buffer? discover? filter? limit? load? load-shed? ready-cache? retry? spawn-ready? util?
futures-util filter? hedge? make? ready-cache? spawn-ready? util?
hdrhistogram hedge?
indexmap ready-cache?

Enables indexmap ^1.0.2

toad-hash implicit feature

Enables toad-hash

toad-hash:

no_std hashing used by toad

slab balance?
tokio buffer? hedge? spawn-ready? tokio_async?
tokio-stream implicit feature

Enables tokio-stream

tokio-stream:

Utilities to work with Stream and tokio

tokio-util buffer?
tracing buffer? hedge? limit? load? log? ready-cache? reconnect? spawn-ready?
pin-project-lite buffer? discover? filter? limit? load? load-shed? make? ready-cache? retry? spawn-ready? timeout? util?
sync_wrapper util?

Enables sync_wrapper ^0.1.1

spin load? retry?
libm load?
tower std
product-os-async-executor limit? load? make? retry? timeout?
product-os-security ready-cache? util?
product-os-semaphore limit?