Commit graph

141 commits

Author SHA1 Message Date
Ivan Santiago Paunovic
f820994aab
Initialize participant on first use. Destroy participant after last node is destroyed. (#176)
* Initialize participant on first use. Destroy participant after last node is destroyed

Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>

* Please linters

Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>

* Solve problems with guard conditions

Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>

* Address peer review comments

Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>

* Address peer review comments

Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>

* Used DDS_CYCLONEDDS_HANDLE to create all guard conditions

Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>

* Increase ref count always

Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
2020-04-30 16:16:02 -07:00
Sid Faber
8e14104246
Fix error message (#175)
Only generate "Recompile with '-DENABLESECURITY=ON' error when
ROS_SECURITY_STRATEGY="Enforce"

Signed-off-by: Sid Faber <sid.faber@canonical.com>
2020-04-29 18:38:00 -03:00
Michel Hidalgo
3c306d32a6
Cast size_t to uint32_t explicitly. (#171)
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
2020-04-28 14:37:00 -03:00
Michael Carroll
03a49c5153
Rename rosidl_message_bounds_t (#166)
* Rename rosidl_message_bounds_t

Signed-off-by: Michael Carroll <michael@openrobotics.org>
2020-04-24 15:56:16 -05:00
Michael Carroll
224d761eca
Add support for taking a sequence of messages (#148)
* Add support for taking a sequence of messages

Signed-off-by: Michael Carroll <michael@openrobotics.org>

* Reorder valid messages to front of sequence

Signed-off-by: Michael Carroll <michael@openrobotics.org>

* Initialize taken value

Signed-off-by: Michael Carroll <michael@openrobotics.org>
2020-04-24 11:49:15 -05:00
Ingo Lütkebohle
2638f4abe8
implement with_info version of take (#161)
* implement with_info version of take

Signed-off-by: Luetkebohle Ingo (CR/AEX3) <ingo.luetkebohle@de.bosch.com>

* Fix function names and signatures.

Signed-off-by: Luetkebohle Ingo (CR/AEX3) <ingo.luetkebohle@de.bosch.com>

* Return 0 on received for responses as well

Signed-off-by: Luetkebohle Ingo (CR/AEX3) <ingo.luetkebohle@de.bosch.com>
2020-04-23 21:31:48 -07:00
Ingo Lütkebohle
27bc8194e7
Fill in message_info timestamps (#163)
* Fill in message_info timestamps

Signed-off-by: Luetkebohle Ingo (CR/AEX3) <ingo.luetkebohle@de.bosch.com>

* Report error when timestamp cannot be obtained.

Signed-off-by: Luetkebohle Ingo (CR/AEX3) <ingo.luetkebohle@de.bosch.com>

* return 0 for received timestamp to signify lack of support

Signed-off-by: Luetkebohle Ingo (CR/AEX3) <ingo.luetkebohle@de.bosch.com>
2020-04-23 14:29:39 -07:00
Ivan Santiago Paunovic
0fc4a3f289
Fix build warnings (#162)
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
2020-04-22 19:40:16 -03:00
eboasson
8a1d3fc092
Switch to one participant per context model (#145)
Signed-off-by: Erik Boasson <eb@ilities.com>
2020-04-22 14:01:05 -03:00
Dan Rose
5616437a4d
Fix serialization on non-32-bit, big-endian systems (#159) 2020-04-17 16:54:06 -05:00
Karsten Knese
f41de1673a
correct fallthrough macro (#154)
* correct fallthrough macro

Signed-off-by: Karsten Knese <karsten@openrobotics.org>
2020-04-14 17:41:11 -05:00
Michel Hidalgo
f6866c5fc1 Register RMW output filters.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
2020-04-14 16:42:04 +02:00
dodsonmg
21dd7c4570
implement safer align_ function (#141)
avoids unnecessary casts to pointer and pointer manipulation by reference
2020-04-14 00:53:38 -05:00
Dan Rose
a9e8784c04
Make case fallthrough explicit (#153)
* Make case fallthrough explicit
2020-04-13 21:05:42 -05:00
Dan Rose
5781044edd
Implement rmw_set_log_severity (#149) 2020-04-13 16:08:25 -05:00
Mikael Arguedas
0450e2d840
security-context -> enclave (#146)
Signed-off-by: Mikael Arguedas <mikael.arguedas@gmail.com>
2020-04-13 10:29:31 -03:00
Dirk Thomas
5c6b187fa9
rename rosidl_generator_c namespace to rosidl_runtime_c (#150)
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
2020-04-10 22:14:29 -07:00
Alejandro Hernández Cordero
654f3d46aa
Added rosidl_runtime c and cpp dependencies (#138)
* Replaced rosidl_generator_x with rosidl_runtime_x

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Fixed package.zml

Signed-off-by: ahcorde <ahcorde@gmail.com>
2020-04-10 12:26:45 +02:00
Dan Rose
cf22b2608a
Remove cyclonedds_cmake_module (#139)
Delete cyclonedds_cmake_module package and remove dependencies on it.
This is not needed, since Eclipse Cyclone DDS already provides a package configuration file (CycloneDDSConfig.cmake)
2020-04-09 11:45:50 -05:00
Sid Faber
16134dcaba Merge remote-tracking branch 'origin/master' into dds-security 2020-04-07 19:41:33 +00:00
Dan Rose
e261555c39
Clean up package xml dependencies (#132) 2020-04-03 13:12:41 -05:00
Ivan Santiago Paunovic
216211efe3
API changes to sync with one Participant per Context change in rmw_fastrtps (#106)
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
2020-04-03 10:13:21 -03:00
Sid Faber
581ba384f8
Merge branch 'master' into dds-security 2020-04-02 12:41:44 -04:00
Sid Faber
1ca2269e66
Improve security logic and memory management
Properly handle downstream effects of ROS_SECURITY_STRATEGY and ROS_SECURITY_ENABLE environment variables through security_options. Improve memory management and make sure to only set security qos properties when all files are sure to exist.
2020-04-02 12:36:31 -04:00
Erik Boasson
12f977f3df Include incompatible_qos_events_statuses.h only if rmw >= 0.8.2
Signed-off-by: Erik Boasson <eb@ilities.com>
2020-03-29 17:00:14 +02:00
Sid Faber
5e934200ce
Fix memory leaks
Also remove superfluous include and blank line.

Signed-off-by: Sid Faber <sid.faber@canonical.com>
2020-03-27 08:54:55 -07:00
Miaofei Mei
c481c10f5d
Support for ON_REQUESTED_INCOMPATIBLE_QOS and ON_OFFERED_INCOMPATIBLE_QOS events (#125)
Signed-off-by: Miaofei <miaofei@amazon.com>
2020-03-27 09:24:27 -03:00
Sid Faber
bca0852f50 Update conditional compile logic
Add in conditional compile based on ENABLE_SECURITY make flag
and Cyclone DDS feature availability.  Also addressed review
comments.

Signed-off-by: Sid Faber <sid.faber@canonical.com>
2020-03-26 18:04:57 +00:00
Dan Rose
b04ec25b38
uncrustify (#124) 2020-03-23 12:55:08 -05:00
Sid Faber
99d2738a84 Enable use of Cyclone DDS security features
Add utility function to insert security settings to the cyclone QOS
object used to create nodes.  Include a utility to find security
files and properly format their location to use with DDS.

Signed-off-by: Sid Faber <sid.faber@canonical.com>
2020-03-20 20:54:03 +00:00
Dan Rose
3ea93f27aa
Prevent undefined behavior when serializing empty vector (#122)
Since m_get_const_function calls `std::vector<T>::operator[]`, accessing the zeroth element causes undefined behavior. Instead, return a null pointer to make the function behave sanely when vector is empty.
Fix #120
2020-03-20 14:31:03 -05:00
Miaofei Mei
025762ac4f
Add rmw_*_event_init() functions (#115)
Signed-off-by: Miaofei <miaofei@amazon.com>
2020-03-19 17:15:07 -03:00
Thijs Sassen
137678e99e Updated version to match cyclonedds package
Signed-off-by: Thijs Sassen <thijs.sassen@adlinktech.com>
2020-03-12 14:33:00 +01:00
Emerson Knapp
8e8b1ff044 Use a list instead of a set for node names list
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
2020-03-11 09:44:10 +01:00
Erik Boasson
a6deecfceb Update for changes on Cyclone DDS security branch
The security specification has a mode in which keyhashes containing the
MD5 of the key value are required on the wire, and this requires some
small changes to the topic interface.  Currently, these changes reside
only on the security branch of Cyclone DDS.

The changes use conditional compilation to handle both the master branch
of Cyclone and the security branch to minimise version dependencies.

Signed-off-by: Erik Boasson <eb@ilities.com>
2020-03-05 17:29:05 +01:00
Erik Boasson
b4c0620b5b Fix leak in client/service topic error handling
And refactor to reduce the amount of code duplication.

Signed-off-by: Erik Boasson <eb@ilities.com>
2020-03-05 15:18:28 +01:00
Dennis Potman
6162be51f9 Fix sertopic referencing
Use the function dds_create_topic_generic for creating topic, so that
the sertopic that is actually used is referenced in the publisher.

Signed-off-by: Dennis Potman <dennis.potman@adlinktech.com>
2020-03-05 15:18:28 +01:00
Ivan Santiago Paunovic
49d4a51abf
Update usage of rmw_topic_endpoint_info_array (#101)
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
2020-02-20 14:11:35 -03:00
Michael Carroll
7d4e17224a
Correct std::hash return type sizes (#102)
Signed-off-by: Michael Carroll <michael@openrobotics.org>
2020-02-18 12:19:56 -06:00
evshary
275d3dd42a Correct the coding style to pass CI test.
Signed-off-by: evshary <evshary@gmail.com>
2020-02-12 10:08:31 +01:00
Erik Boasson
d2a22d3f59 Update for cyclonedds changes needed for ros1 bridge
Signed-off-by: Erik Boasson <eb@ilities.com>
2020-02-11 23:25:45 +01:00
Emerson Knapp
cf8e4fb91e Fix semantics per review comment
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
2020-02-11 22:36:39 +01:00
Emerson Knapp
4209d7654b Fix MSBuild warnings C4146 and C4267
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
2020-02-11 22:36:39 +01:00
Dennis Potman
18317eff6c Add #if version >= 0.8.2 to fix ros2 dashing builds
Signed-off-by: Dennis Potman <dennis.potman@adlinktech.com>
2020-02-11 10:44:09 +01:00
Dennis Potman
d70fad6c46
Implementation for rmw_get_pub/sub_info_by_topic (#97)
Signed-off-by: Dennis Potman <dennis.potman@adlinktech.com>
2020-02-10 14:59:04 -03:00
Dan Rose
20007b4dc2
Remove unused CMake extras (#84)
Signed-off-by: Dan Rose <dan@digilabs.io>
2020-02-10 09:08:23 -06:00
Dirk Thomas
1c500379ae
code style only: wrap after open parenthesis if not in one line (#95)
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
2020-02-04 11:41:49 -08:00
Erik Boasson
0bc1281978 Fix uncrustify error
Signed-off-by: Erik Boasson <eb@ilities.com>
2020-01-31 15:38:41 +01:00
Dennis Potman
a771f917f8
Support for deadline, lifespan and liveliness qos (#88)
* Events and liveliness/lifespan/deadline qos support

This commit adds support for liveliness, lifespan and deadline missed
qos in rmw, and it adds event support in rmw_wait that is required for
these qos policies to work correctly.

* Removed redundant empty check in rmw_wait, fix duration 0 vs infinity for qos getter and setter

* Disabled auto-dispose so that deadline-missed on reader is still triggered when a writer becomes not-alive and unregisters itself
2020-01-31 14:53:20 +01:00
eboasson
ee35a6c41a
rmw_get_topic_endpoint_info doesn't exist on Dashing (#91)
* rmw_get_topic_endpoint_info doesn't exist on Dashing

Signed-off-by: Erik Boasson <eb@ilities.com>

* get_topic_endpoint_info got added in RMW 0.8.2

Signed-off-by: Erik Boasson <eb@ilities.com>
2020-01-31 13:37:49 +01:00