[package] name = "multilink" version = "1.0.1" authors = ["Darnell Andries "] edition = "2021" description = "IPC library for communicating with local or remote processes, over stdio or HTTP" repository = "https://github.com/djandries/multilink" license = "MPL-2.0" keywords = ["ipc", "http", "stdio", "jsonrpc"] categories = ["network-programming", "api-bindings", "data-structures"] exclude = ["misc/"] [dependencies] async-trait = "0.1" async-stream = "0.3" futures = { version = "0.3" } hyper = { version = "0.14", optional = true, features = ["http1", "stream"] } hyper-rustls = { version = "0.24", optional = true } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" thiserror = "1.0" tokio = { version = "1.27", optional = true, features = ["io-std", "io-util", "macros", "process", "sync"] } tokio-stream = "0.1" tower = { version = "0.4", features = ["timeout"] } tracing = "0.1" [dev-dependencies] clap = { version = "4.3", features = ["derive"] } tokio = { version = "1.27", features = ["rt-multi-thread"] } tracing-subscriber = { version = "0.3", features = ["env-filter"] } [features] jsonrpc = [] stdio-client = ["dep:tokio", "jsonrpc"] stdio-server = ["dep:tokio", "jsonrpc"] http-client = ["dep:hyper", "hyper?/client", "dep:hyper-rustls"] http-server = ["dep:hyper", "hyper?/server", "hyper?/tcp"] [package.metadata.docs.rs] features = ["stdio-client", "stdio-server", "http-client", "http-server"] [[example]] name = "greeting-client" required-features = ["http-client", "stdio-client"] [[example]] name = "greeting-server" required-features = ["http-server", "stdio-server"]