[package]
edition = "2018"
rust-version = "1.82.0"
name = "ros2-client"
version = "0.9.0"
authors = ["Juhana Helovuo <juhana.helovuo@atostek.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "ROS2 client library based on RustDDS"
homepage = "https://atostek.com/en/products/rustdds/"
readme = "README.md"
keywords = [
"network",
"protocol",
"dds",
"rtps",
]
categories = [
"network-programming",
"science::robotics",
]
license = "Apache-2.0"
repository = "https://github.com/Atostek/ros2-client/"
[features]
pre-iron-gid = []
security = ["rustdds/security"]
[lib]
name = "ros2_client"
path = "src/lib.rs"
[[bin]]
name = "msggen"
path = "src/bin/msggen/main.rs"
[[example]]
name = "async_listener"
path = "examples/async_listener/main.rs"
[[example]]
name = "async_service_client"
path = "examples/async_service_client/main.rs"
[[example]]
name = "async_service_server"
path = "examples/async_service_server/main.rs"
[[example]]
name = "async_smart_talker"
path = "examples/async_smart_talker/main.rs"
[[example]]
name = "async_talker"
path = "examples/async_talker/main.rs"
[[example]]
name = "client_get_parameters"
path = "examples/client_get_parameters/main.rs"
[[example]]
name = "client_list_parameters"
path = "examples/client_list_parameters/main.rs"
[[example]]
name = "concurrent_action_server"
path = "examples/concurrent_action_server/main.rs"
[[example]]
name = "discovery_listener"
path = "examples/discovery_listener/main.rs"
[[example]]
name = "listener"
path = "examples/listener/main.rs"
[[example]]
name = "minimal_action_client"
path = "examples/minimal_action_client/main.rs"
[[example]]
name = "minimal_action_server"
path = "examples/minimal_action_server/main.rs"
[[example]]
name = "ros2_service_client"
path = "examples/ros2_service_client/main.rs"
[[example]]
name = "ros2_service_server"
path = "examples/ros2_service_server/main.rs"
[[example]]
name = "talker"
path = "examples/talker/main.rs"
[[example]]
name = "time_broadcaster"
path = "examples/time_broadcaster/main.rs"
[[example]]
name = "time_reporter"
path = "examples/time_reporter/main.rs"
[[example]]
name = "turtle_teleop"
path = "examples/turtle_teleop/main.rs"
[[test]]
name = "late_joiner"
path = "tests/late_joiner.rs"
[[test]]
name = "pub_and_sub"
path = "tests/pub_and_sub.rs"
[dependencies.async-channel]
version = "2.3"
[dependencies.bstr]
version = "1.6.2"
[dependencies.bytes]
version = "1.5.0"
features = [
"serde",
"std",
]
[dependencies.cdr-encoding-size]
version = "^0.5"
[dependencies.chrono]
version = ">=0.4.35"
[dependencies.clap]
version = "4.4.3"
[dependencies.futures]
version = "^0.3.28"
[dependencies.itertools]
version = "0.14.0"
[dependencies.lazy_static]
version = "1.4.0"
[dependencies.libc]
version = "0.2.153"
[dependencies.log]
version = "0.4.11"
[dependencies.mio]
version = "^0.6.23"
[dependencies.mio-extras]
version = "2.0.6"
[dependencies.nom]
version = "8.0.0"
features = ["alloc"]
[dependencies.pin-utils]
version = "0.1.0"
[dependencies.rustdds]
version = "0.12"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_repr]
version = "0.1"
[dependencies.tracing]
version = "0.1.41"
[dependencies.uuid]
version = "1.3.1"
features = [
"v4",
"fast-rng",
"macro-diagnostics",
"serde",
]
[dependencies.widestring]
version = "1.0"
[dev-dependencies.async-ctrlc]
version = "1.2"
[dev-dependencies.async-io]
version = "2.2.0"
[dev-dependencies.crossterm]
version = "0.29.0"
features = ["event-stream"]
[dev-dependencies.ctrlc]
version = "3.1.6"
[dev-dependencies.log]
version = "0.4"
[dev-dependencies.log4rs]
version = "1.2"
[dev-dependencies.pretty_env_logger]
version = "0.5.0"
[dev-dependencies.ratatui]
version = "0.29.0"
[dev-dependencies.smol]
version = "2.0"
[dev-dependencies.test-case]
version = "3.3.1"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"macros",
"time",
"sync",
]