Skip to content

Add support for a transaction window for adding subscriptions, clients, etc #2151

@mjcarroll

Description

@mjcarroll

Feature request

Feature description

Currently, each time that a subscription, service, client or waitable is added to a node, it signals for the executor to rebuild the collection of entities that it is tracking as well as the underlying waitset.

One workaround is to set up all entities before adding the node or callback group to an executor, but in the case of the LifecycleNode pattern, the node is already added to an executor.

The idea here would be to add a begin_transaction and end_transaction function that would allow the user to temporarily disable notification of the executor, and resume after all entities have been added.

This would reduce a bit of the CPU churn seen when using LifecycleNodes with many subscriptions.

CC: @alsora @mauropasse

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions