rustdds 0.10.0

Native Rust DDS implementation with RTPS
Documentation
[package]
name = "rustdds"
version = "0.10.0"
authors = ["Juhana Helovuo <juhana.helovuo@atostek.com>", 
  "Oiva Moisio <oiva.moisio@atostek.com>", 
  "Miska Melkinen <miska.melkinen@atostek.com>", 
  "Lauri Eneh <lauri.eneh@atostek.com>", 
  "Olli Huopio <olli.huopio@atostek.com>", 
  "Selim Virtanen <selim.virtanen@atostek.com>"
]
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.6.2"
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.11"
paste = "1"
md5 = "0.7.0"
socket2 = { version = "0.5", features = ["all"] }
bytes = "1"
static_assertions = "1.1"
thiserror = "1.0.29"
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.14" , 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.6", 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 = "3.0.0"