[package] name = "rustdds" version = "0.11.1" authors = ["Juhana Helovuo ", "Oiva Moisio ", "Miska Melkinen ", "Lauri Eneh ", "Olli Huopio ", "Selim Virtanen " ] description = "Native Rust DDS implementation with RTPS" readme = "README.md" keywords = ["network","protocol","dds","rtps"] license = "Apache-2.0" edition = "2021" homepage = "https://atostek.com/en/products/rustdds/" repository = "https://github.com/jhelovuo/RustDDS" categories = ["network-programming", "science::robotics"] rust-version = "1.70.0" # the science-robotics category is because of ROS2 [features] # Feature "security" implements the OMG "DDS Security" specification v 1.1 # It adds a large amount of new code and dependencies. security = [ "dep:serde-xml-rs", "dep:glob", "dep:mailparse", "dep:x509-certificate", "dep:x509-cert", "dep:tempfile", "dep:newline-converter", "dep:ring", "dep:cms", "dep:der", "dep:bcder", "dep:const-oid", "dep:openssl", "dep:cryptoki" ] # If feature "build_openssl" is enabled (along with feature "security"), # a local copy of OpenSSL will be built. # Otherwise, we try to use the system installation of OpenSSL. build_openssl = ["openssl?/vendored"] [dependencies] mio_06 = { package = "mio" , version ="^0.6.23" } mio-extras = "2.0.6" mio_08 = { package = "mio" , version ="0.8.5", features = ["net", "os-poll"] } socketpair = "0.19" bit-vec = "0.8.0" speedy = "0.8.0" log = "0.4.11" num-traits = "0.2" num-derive = "0.4" serde = { version = "1.0", features = ["derive"] } serde_repr="0.1" byteorder = { version = "1.3", features = ["i128"] } rand = "0.8.4" chrono = { version = "0.4", features = ["serde"] } enumflags2 = { version = "0.7.7", features = ["serde"] } if-addrs = "0.13" paste = "1" md5 = "0.7.0" socket2 = { version = "0.5", features = ["all"] } bytes = "1" static_assertions = "1.1" thiserror = "1.0.29" # cdr-encoding = { version="0.10" , path = "../cdr-encoding"} cdr-encoding = { version="0.10" } cdr-encoding-size = { version="^0.5" } futures = "0.3" io-extras = "0.18.0" # For DDS Security: serde-xml-rs = { version = "0.6" , optional = true } # for reading spec-mandated XML config files glob = { version = "0.3" , optional = true } # for reading spec-mandated XML config files mailparse = { version = "0.15" , optional = true } # for reading S/MIME-encoded (XML) config files x509-certificate = { version = "0.23" , optional = true } # for configuration certificates x509-cert = { version = "0.2" , optional = true } tempfile = { version = "3" , optional = true } # for calling external openssl command. Remove when no longer used. newline-converter = { version = "0.3" , optional = true } # helper for handling S/MIME ring = { version = "0.17" , optional = true } # Cryptographic primitives cms = { version = "0.2" , optional = true } # for ASN.1 parsing der = { version = "0.7" , optional = true } # ASN.1 DER encoding bcder = { version = "0.7" , optional = true } # ASN.1 DER encoding const-oid = { version = "0.9" , optional = true } # more ASN.1 openssl = { version = "0.10", optional = true } cryptoki = { version = "0.7", optional = true } [target.'cfg(windows)'.dependencies] local-ip-address = "0.6.1" [dev-dependencies] serde_repr = {version = "0.1" } log = "0.4" log4rs = "1" test-case = "3.1.0" env_logger = "0.11" test-log = "0.2" hex-literal = "0.4" anyhow = "1.0" # for test cases # ros_visualizer crossterm = "0.27" tui = { version = "0.19", default-features = false, features = ['crossterm'] } # shapes-demo clap = "4.2" ctrlc = "3.1.6" # async-shapes-demo smol = "2.0" [target.'cfg(unix)'.dev-dependencies] # turle_teleop termion = "4.0.2"