[package] name = "fluvio-future" version = "0.7.0" edition = "2021" authors = ["Fluvio Contributors "] description = "I/O futures for Fluvio project" repository = "https://github.com/infinyon/future-aio" license = "Apache-2.0" resolver = "2" [package.metadata.docs.rs] all-features = true [features] task = ["async-std/default", "cfg-if"] subscriber = ["tracing-subscriber", "tracing-subscriber/std", "tracing-subscriber/env-filter"] fixture = ["subscriber", "task", "fluvio-future-derive"] task_unstable = ["task", "async-std/unstable"] io = ["async-std/default"] sync = ["async-std/default"] future = ["async-std/default"] net = ["futures-lite", "async-net", "async-trait", "cfg-if", "futures-util/io", "socket2", "ws_stream_wasm"] tls = ["rust_tls"] rust_tls = ["net", "rustls-pemfile", "futures-rustls", "pin-project", "futures-util/io"] native_tls = ["net", "pin-project", "async-native-tls", "dep:native-tls", "openssl/vendored", "futures-util/io"] openssl_tls = ["net", "openssl", "openssl-sys", "pin-project", "futures-util/io"] timer = ["async-io", "pin-project", "futures-lite", "fluvio-wasm-timer"] fs = ["async-fs", "futures-lite", "pin-utils", "async-trait"] zero_copy = ["nix", "task_unstable"] mmap = ["fs", "memmap2", "task_unstable"] retry = ["timer", "cfg-if", "async-trait", "futures-util/io"] doomsday = ["task", "sync"] tokio1 = ["async-std/tokio1"] attributes = [] [dependencies] anyhow = { version = "1.0" } async-trait = { version = "0.1.80", optional = true } cfg-if = { version = "1.0", optional = true } fluvio-future-derive = { path = "fluvio-future-derive", version = "0.1.0", optional = true } futures-lite = { version = "2.3", optional = true } futures-util = { version = "0.3.30", optional = true } pin-project = { version = "1.1", optional = true } pin-utils = { version = "0.1.0", optional = true } thiserror = "1.0" tokio = { version = "1.38", default-features = false, optional = true } tracing = { version = "0.1.40" } tracing-subscriber = { version = "0.3.18", optional = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] async-fs = { version = "2.1", optional = true } async-io = { version = "2.3", optional = true } async-native-tls = { version = "0.5.0", optional = true } async-net = { version = "2.0", optional = true } async-std = { version = "1.12", default-features = false, optional = true } futures-rustls = { version = "0.26.0", optional = true } memmap2 = { version = "0.9.4", optional = true } native-tls = { version = "0.2.12", optional = true } nix = { version = "0.29.0", optional = true, features = ["zerocopy"] } openssl = { version = "0.10.64", optional = true } openssl-sys = { version = "0.9.102", optional = true, features = ["vendored"] } rustls-pemfile = { version = "2.1", optional = true } socket2 = { version = "0.5.7", default-features = false, features = ["all"], optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] async-std = { version = "1.12", default-features = false, features = ["unstable"], optional = true } fluvio-wasm-timer = { version = "0.2.5", optional = true } ws_stream_wasm = { version = "0.7.4", optional = true } [dev-dependencies] bytes = "1.6" fluvio-future = { path = ".", features = ["net", "fixture", "timer", "fs", "retry"] } fluvio-future-derive = { path = "fluvio-future-derive", version = "0.1.0" } flv-util = { version = "0.5.2", features = ["fixture"] } futures-util = { version = "0.3.30", features = ["sink", "io"] } lazy_static = "1.5" num_cpus = "1.16" serde = { version = "1.0", features = ["derive"] } tokio = { version = "1.38", features = ["macros"] } tokio-util = { version = "0.7.11", features = ["codec", "compat"] } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] portpicker = "0.1.1" [target.'cfg(target_arch = "wasm32")'.dev-dependencies] tracing-wasm = "0.2.1" wasm-bindgen-futures = "0.4.42" wasm-bindgen-test = "0.3.42"