Skip to content

Commit

Permalink
Add EventsExecutor (ros2#256)
Browse files Browse the repository at this point in the history
* add RMW listener APIs

Rename Event_callback to ExecutorEventCallback

Update name

Rename ExecutorEventCallback -> EventsExecutorCallback

Rename set_events_executor_callback->set_listener_callback

Use data types when setting callbacks

Restore name

Move rcutils/executor_event_types.h to rmw/

rename event types

Rename executor_context->callback_context

Rename callback_context->user_data

Reorder APIs arguments

rename rmw_listener_cb_t->rmw_listener_callback_t

Events executor subscriptions support

Events executor guard conditions support

Add clients&services support

Support events (still work to do)

Ctest fixes

Use dds_entity_t instead of auto. Remove comments

PR suggestions

Only check callback pointer validity

This is the only item that is used in the RMW
layer, while the others are simply forwarded.

use void * to pass executor ptr

Implement use previous events for guard conditions

Push events happened before setting callback

Add support for events unread count

Rework unread count

Rework all

Proper init gc, clients and services callbacks

Remove not needed subscription listener init

Address PR comments

Crete apis for clarity

Rework executor callback data

Use RMW renamed file

Add support for events

Do not set listener event callbacks

check user_data before calling callback

Enable support for events

Fix: set listener to srv/cli -> sub, not pub.

* Have callback & data per each event type

Signed-off-by: Mauro Passerino <[email protected]>

* remove comments

Signed-off-by: Mauro Passerino <[email protected]>

* Delete listeners after use, since they're copied

Signed-off-by: Mauro Passerino <[email protected]>

* Remove rmw_event_data_type_t

Signed-off-by: Mauro Passerino <[email protected]>

* Remove use_previous_event

Signed-off-by: Mauro Passerino <[email protected]>

* Use unread_count as arg

Signed-off-by: Mauro Passerino <[email protected]>

* Remove guard condition listener

Signed-off-by: Mauro Passerino <[email protected]>

* refactor to remove listener term

Signed-off-by: William Woodall <[email protected]>

* use correct callback for dds qos event listeners

Signed-off-by: Alberto Soragna <[email protected]>

* Use QoS depth on subscriptions before call callback

Signed-off-by: Mauro Passerino <[email protected]>

* Use new Cyclone APIs to coexist listeners/waitset

Signed-off-by: Mauro Passerino <[email protected]>

* Fix linter issues

Signed-off-by: Mauro Passerino <[email protected]>

* fix linter errors

Signed-off-by: Alberto Soragna <[email protected]>

Co-authored-by: Mauro <[email protected]>
Co-authored-by: William Woodall <[email protected]>
Co-authored-by: Alberto Soragna <[email protected]>
  • Loading branch information
4 people authored and clalancette committed May 18, 2022
1 parent e5597a8 commit f00cc34
Showing 1 changed file with 290 additions and 19 deletions.
Loading

0 comments on commit f00cc34

Please sign in to comment.