[package] name = "io-streams" version = "0.16.3" description = "Unbuffered and unlocked I/O streams" authors = ["Dan Gohman "] edition = "2021" license = "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT" keywords = ["io"] categories = ["rust-patterns"] repository = "https://github.com/sunfishcode/io-streams" exclude = ["/.github"] [dependencies] async-std = { version = "1.12.0", optional = true } char-device = { version = "0.16.0", optional = true } duplex = "0.16.0" layered-io = { version = "0.23.0", optional = true } memchr = "2.3.4" parking = "2.0.0" socketpair = { version = "0.19.0", optional = true } system-interface = { version = "0.27.0", features = ["use_os_pipe", "socketpair"] } terminal-io = { version = "0.19.0", optional = true } tokio = { version = "1.8.1", optional = true, features = ["fs", "net"] } io-extras = { version = "0.18.0", features = ["os_pipe"] } utf8-io = { version = "0.19.0", optional = true } io-lifetimes = { version = "2.0.0", features = ["os_pipe"], default-features = false } # WASI doesn't support pipes yet [target.'cfg(not(target_os = "wasi"))'.dependencies] os_pipe = { version = "1.0.0", features = ["io_safety"] } [target.'cfg(not(windows))'.dependencies] rustix = { version = "0.38.0", features = ["pipe"] } [dev-dependencies] anyhow = "1.0.38" cap-tempfile = "3.0.0" char-device = "0.16.0" duplex = { version = "0.16.0", features = ["char-device"] } [features] default = [] use_socketpair = ["socketpair", "duplex/socketpair", "system-interface/socketpair"] use_char_device = ["char-device", "duplex/char-device", "system-interface/char-device"] use_async_std = ["async-std"] use_tokio = ["tokio", "io-lifetimes/tokio"] #use_async_std_char_device = ["use_char_device", "char-device/use_async_std", "duplex/use_async_std_char_device", "system-interface/char-device"] #use_async_std_socketpair = ["use_socketpair", "socketpair/use_async_std", "duplex/use_async_std_socketpair", "system-interface/socketpair"] #use_tokio_char_device = ["use_char_device", "char-device/use_tokio", "duplex/use_tokio_char_device", "system-interface/char-device"] #use_tokio_socketpair = ["use_socketpair", "socketpair/use_tokio", "duplex/use_tokio_socketpair", "system-interface/socketpair"] [package.metadata.docs.rs] features = ["use_char_device", "use_socketpair"] #"use_async_std_char_device", "use_async_std_socketpair", "use_tokio_char_device", "use_tokio_socketpair" [lints.rust.unexpected_cfgs] level = "warn" check-cfg = [ 'cfg(bench)', 'cfg(read_initializer)', 'cfg(can_vector)', 'cfg(clamp)', 'cfg(extend_one)', 'cfg(pattern)', 'cfg(seek_stream_len)', 'cfg(shrink_to)', 'cfg(toowned_clone_into)', 'cfg(try_reserve)', 'cfg(unix_socket_peek)', 'cfg(windows_by_handle)', 'cfg(write_all_vectored)', 'cfg(windows_file_type_ext)', ]