Cargo Features

Tros has no features set by default.

[dependencies]
tros = { version = "0.2.1", features = ["picodata", "vanilla", "tp-cbus", "tp-poll", "test"] }
picodata = tp-cbus

These features are most wanted by end-user.
They enable special aliases for given tarantool version.

For example, if user knows he uses picodata fork, he simply enables "picodata" feature.
Then tros would provide best transport(and other mechanisms) available for picodata fork.

Affects transport::PicodataTransport

vanilla = tp-poll

Vanilla tarantool is basically every version except picodata fork(i.e. including tarantool EE).

Affects transport::VanillaTransport

tp-cbus picodata?

These features controls which transport to include.
They all might be active at the same time.
By default there is no transport provided, as it's user responsibility to check what is supported in his environment.

It's recommended to use more general features like "picodata".

Enables picodata of tarantool

Despite we don't really need tokio_components feature for the tests, it is needed for proper cargo doc generation.

Affects transport::cbus

tp-poll vanilla?

Affects transport::poll

test

Feature activates utilities needed for integration tests.
Useless for most end users.

Enables enum_dispatch

Test-only dependencies.

Affects transport::test