[package] name = "zusi" description = "Proxy crate which bundles an async and sync TCP client for Zusi 3" version = "0.3.2" authors = ["Jannis Schaefer "] license = "MIT OR Apache-2.0" edition = "2021" repository = "https://github.com/zusi/zusi-rs" readme = "../README.md" [[example]] name = "fahrpult_async" required-features = ["async", "fahrpult"] [[example]] name = "fahrpult_sync" required-features = ["fahrpult"] [[test]] name = "serde" required-features = ["fahrpult"] [[test]] name = "codec" required-features = ["fahrpult", "async"] [[bench]] name = "codec" harness = false required-features = ["fahrpult", "async"] [dependencies] either = "1.10" zusi-fahrpult = { path = "../zusi-fahrpult", optional = true, version = "0.1.5" } zusi-protocol = { path = "../zusi-protocol", version = "0.2.1" } thiserror = "1" bytes = { version = "1", optional = true } tokio-util = { version = "0.7", features = ["codec"], optional = true } nom = { version = "7", optional = true } [dev-dependencies] tokio = { version = "1", features = ["macros", "net", "rt"] } futures = "0.3" divan = "0.1" [features] default = ["fahrpult"] fahrpult = ["dep:zusi-fahrpult"] async = ["dep:bytes", "dep:tokio-util", "zusi-protocol/parser", "dep:nom"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]