[package] name = "tros" version = "0.2.2" edition = "2021" description = "Your tros from tarantool TX thread to tokio(..and others!)" readme = "README.md" homepage = "https://git.picodata.io/picodata/modules/tros" repository = "https://git.picodata.io/picodata/modules/tros" license = "BSD-2-Clause" authors = [ "Fedor Telnov ", "Konstantin Derevtsov ", ] keywords = ["tarantool", "async", "tokio"] categories = ["asynchronous", "concurrency"] include = ["src/**/*", "README.md"] [dependencies] async-scoped = { workspace = true, features = ["use-tokio"] } derive_builder.workspace = true once_cell.workspace = true parking_lot.workspace = true tarantool.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["full"] } # Test-only dependencies. enum_dispatch = { version = "0.3.13", optional = true } [dev-dependencies] # Despite we don't really need `tokio_components` feature for the tests, # it is needed for proper `cargo doc` generation. tarantool = { workspace = true, features = ["picodata", "tokio_components"] } [features] # 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. picodata = ["tp-cbus"] # Vanilla tarantool is basically every version except picodata fork(i.e. including tarantool EE). vanilla = ["tp-poll"] # 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". tp-cbus = ["tarantool/picodata"] tp-poll = [] # Feature activates utilities needed for integration tests. # Useless for most end users. test = ["dep:enum_dispatch"]