Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add QoS bounded queue #43

Open
wants to merge 190 commits into
base: irobot/add-events-executor
Choose a base branch
from

Conversation

mauropasse
Copy link
Collaborator

This PR is not intended to be merged, but could be useful for discussing a bounded queue design & implementation.

This QoS bounded queue has a limit set on construction, for example 100 elements. When we surpase this limit, we prune the queue.

The pruning is based on the QoS->depth of each entity event in the queue, so if we had for example 20 events from an entity with QoS->depth=10, we remove the 10 oldest events.
This implies having QoS->depth defined for each entity, as Waitables, which is not conceptually correct.
Also we need new APIs to map each entity with their depths.

After pruning, we might still have more events in the queue than the limit set, if the QoS->depth of an entity is bigger than the queue limit.

If we don't take into account the QoS->depth of each entity, and for example we prune the queue by removing all elements, we'll be behind the DDS queues (like IPC ring buffer) and new events will retrieve older messages. So in order to prune the queue without taking into account QoS, we should be able to also prune the DDS internal queues.

Mauro Passerino and others added 28 commits January 18, 2021 15:03
error: deallocuse - Dereferencing 'node_ptr' after
it is deallocated / released

Seems that:
NodeBaseInterface::WeakPtr node_weak_ptr(node_ptr);
causes the cppcheck to fail if node_ptr is used after creating
the weak pointer from it.
…ss-2

Add events queue abstract class and implem
rename rmw_listener_cb_t->rmw_listener_callback_t
@irobot-ros irobot-ros force-pushed the irobot/add-events-executor branch 2 times, most recently from 48416d3 to 91668ef Compare March 16, 2021 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants