Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
2936a40
Add dynamic message functionality
nnmm Jul 19, 2022
9263652
Merge branch 'main' into dynamic_messages
luca-della-vedova Jun 17, 2025
aaadbe4
Initial stab, builds docs
luca-della-vedova Jun 17, 2025
d5ad50f
WIP work through compile errors
luca-della-vedova Jun 18, 2025
d140dbe
Clear warnings
luca-della-vedova Jun 18, 2025
f7aa5c0
Bring back tests
luca-della-vedova Jun 18, 2025
236b999
Minor cleanup
luca-della-vedova Jun 18, 2025
780c660
Remove spurious files
luca-della-vedova Jun 18, 2025
4fd4059
WIP working through subscriptions
luca-della-vedova Jun 18, 2025
e79f46f
First integration with async workers
luca-della-vedova Jun 20, 2025
73eec6b
Add a PartialEq implementation for tests
luca-della-vedova Jun 20, 2025
76e18d5
Fix test code
luca-della-vedova Jun 20, 2025
5b513ba
Format
luca-della-vedova Jun 20, 2025
8c216af
Minor cleanup
luca-della-vedova Jun 20, 2025
9ab136b
Use SubscriptionOptions
luca-della-vedova Jun 20, 2025
a6b5b48
Plumbing for dynamic publishers
luca-della-vedova Jun 20, 2025
8112a77
Add publisher API
luca-della-vedova Jun 20, 2025
73022f7
API symmetry with normal pub/sub
luca-della-vedova Jun 20, 2025
2ccec54
Worker subscriptions
luca-della-vedova Jun 20, 2025
60a542a
Add async subscription API
luca-della-vedova Jun 23, 2025
98381ac
Basic test for dynamic subscriptions graph
luca-della-vedova Jun 23, 2025
164639e
Tests for dynamic pub/sub
luca-della-vedova Jun 23, 2025
d1c264a
Worker subscription test
luca-della-vedova Jun 23, 2025
0c11ea0
Minor cleanups and refactors
luca-della-vedova Jun 23, 2025
9ab8dc5
Tests for message field getters / setters
luca-della-vedova Jun 23, 2025
1439045
Minor cleanups
luca-della-vedova Jun 23, 2025
0462d7f
Remove commented code
luca-della-vedova Jun 23, 2025
2b99397
Revert fini change
luca-della-vedova Jun 23, 2025
eb5aeeb
Add note on message builder API
luca-della-vedova Jun 24, 2025
c4e0bed
Add docs, cleanup tests
luca-della-vedova Jun 24, 2025
ccd3852
Fix take logic, cleanup
luca-della-vedova Jun 24, 2025
c9a53db
Format
luca-della-vedova Jun 24, 2025
83cf32c
Clear warnings
luca-della-vedova Jun 24, 2025
42cd70f
Cleanup
luca-della-vedova Jun 24, 2025
2f99054
Merge branch 'main' into dynamic_messages
luca-della-vedova Jun 27, 2025
470396b
Add a cache for loaded message packages
luca-della-vedova Jul 25, 2025
e21a4a7
Fix panic for empty sequences
luca-della-vedova Aug 6, 2025
ba49f22
Merge remote-tracking branch 'origin/main' into dynamic_messages
luca-della-vedova Aug 8, 2025
e4ca229
Merge remote-tracking branch 'origin/main' into dynamic_messages
luca-della-vedova Aug 15, 2025
9892e4b
Remove example
luca-della-vedova Aug 15, 2025
ec4463a
merge dyn_msg feature into main codebase
esteve Nov 12, 2025
3779e79
Merge branch 'main' into dynamic_messages
esteve Nov 12, 2025
f4ae75d
disable library cache
esteve Nov 12, 2025
72d8a45
update API
esteve Nov 12, 2025
fae3da4
fix format
esteve Nov 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/rust-minimal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:
echo "Running clippy in $path"
# Run clippy for all features except use_ros_shim (needed for docs.rs)
if [ "$(basename $path)" = "rclrs" ]; then
cargo clippy --no-deps --all-targets -F default,dyn_msg -- -D warnings
cargo clippy --no-deps --all-targets -F default -- -D warnings
else
cargo clippy --no-deps --all-targets --all-features -- -D warnings
fi
Expand All @@ -117,7 +117,9 @@ jobs:
echo "Running cargo test in $path"
# Run cargo test for all features except use_ros_shim (needed for docs.rs)
if [ "$(basename $path)" = "rclrs" ]; then
cargo test -F default,dyn_msg,serde
cargo test -F default
elif [ "$(basename $path)" = "rosidl_runtime_rs" ]; then
cargo test -F default,serde
else
cargo test --all-features
fi
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/rust-stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:
echo "Running clippy in $path"
# Run clippy for all features except use_ros_shim (needed for docs.rs)
if [ "$(basename $path)" = "rclrs" ]; then
cargo clippy --no-deps --all-targets -F default,dyn_msg -- -D warnings
cargo clippy --no-deps --all-targets -F default -- -D warnings
else
cargo clippy --no-deps --all-targets --all-features -- -D warnings
fi
Expand All @@ -117,7 +117,9 @@ jobs:
echo "Running cargo test in $path"
# Run cargo test for all features except use_ros_shim (needed for docs.rs)
if [ "$(basename $path)" = "rclrs" ]; then
cargo test -F default,dyn_msg,serde
cargo test -F default
elif [ "$(basename $path)" = "rosidl_runtime_rs" ]; then
cargo test -F default,serde
else
cargo test --all-features
fi
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rust-win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
cd %%B
echo Running cargo test in %%B
if /I "%%~nxB"=="rclrs" (
cargo test -F default,dyn_msg
cargo test -F default
) else if /I "%%~nxB"=="rosidl_runtime_rs" (
cargo test -F default
) else (
Expand Down
5 changes: 2 additions & 3 deletions rclrs/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ path = "src/lib.rs"
# and also state why each dependency is needed.
[dependencies]
# Needed for dynamically finding type support libraries
ament_rs = { version = "0.2", optional = true }
ament_rs = { version = "0.2" }

# Needed to create the GoalClientStream
async-stream = "0.3.6"
Expand All @@ -33,7 +33,7 @@ futures-lite = { version = "2.6", features = ["std", "race"] }
async-std = "1.13"

# Needed for dynamic messages
libloading = { version = "0.8", optional = true }
libloading = { version = "0.8" }

# Needed for the Message trait, among others
rosidl_runtime_rs = "0.5"
Expand Down Expand Up @@ -67,7 +67,6 @@ rustflags = "0.1"

[features]
default = []
dyn_msg = ["ament_rs", "libloading"]
serde = ["dep:serde", "dep:serde-big-array", "rosidl_runtime_rs/serde"]
# This feature is solely for the purpose of being able to generate documetation without a ROS installation
# The only intended usage of this feature is for docs.rs builders to work, and is not intended to be used by end users
Expand Down
Loading
Loading