[package] name = "dnp3" version = "1.6.0" authors = ["Step Function I/O LLC "] description = "Rust implementation of DNP3 (IEEE 1815) with idiomatic bindings for C, C++, .NET, and Java" readme = "README.md" exclude = ["codegen"] # the scala code used to generate parts of the crate # inherit from workspace rust-version.workspace = true edition.workspace = true license-file.workspace = true homepage.workspace = true repository.workspace = true keywords.workspace = true categories.workspace = true [lints] workspace = true [dependencies] tracing = { workspace = true } chrono = "0.4" tokio = { workspace = true, features = ["net", "sync", "io-util", "io-std", "time", "rt", "rt-multi-thread", "macros"] } xxhash-rust = { version = "0.8", features = ["xxh64"] } scursor = "0.2.0" # TLS dependencies sfio-rustls-config = { version = "0.3.2", optional = true } tokio-rustls = { version = "0.26.0", features = ["tls12"], default-features = false, optional = true } # serial dependencies tokio-serial = { version = "=5.4.3", default-features = false, optional = true } # serde support serde = { version = "^1.0", features = ["derive"], default-features = false, optional = true } [dev-dependencies] assert_matches = "1.2" clap = { version = "4.0", features = ["derive"] } futures = { version = "0.3.24" } rand = "0.8" serde_json = "1.0.96" sfio-tokio-mock-io = "0.2.0" tokio = { version = "1", features = ["test-util"] } tokio-util = { version = "0.7", features = ["codec"] } tokio-stream = { version = "0.1.1" } tracing-subscriber = "0.3" [features] default = ["tls", "serial"] ffi = [] # this feature flag is only used when building the FFI tls = ["sfio-rustls-config", "tokio-rustls"] serial = ["tokio-serial"] # Public configuration types dervie both serde::Deserialize and serde::Serialize serialization = ["serde"]