micro-ROS / rmw_microxrcedds

RMW implementation using Micro XRCE-DDS middleware.
Apache License 2.0
32 stars 25 forks source link

Update to a replace and reuse entities creation (backport #143) #146

Closed mergify[bot] closed 3 years ago

mergify[bot] commented 3 years ago

This is an automatic backport of pull request #143 done by Mergify.


Mergify commands and options
More conditions and actions can be found in the [documentation](https://docs.mergify.io/). You can also trigger Mergify actions by commenting on this pull request: - `@Mergifyio refresh` will re-evaluate the rules - `@Mergifyio rebase` will rebase this PR on its base branch - `@Mergifyio update` will merge the base branch into this PR - `@Mergifyio backport ` will backport this PR on `` branch Additionally, on Mergify [dashboard](https://dashboard.mergify.io/) you can: - look at your merge queues - generate the Mergify configuration with the config editor. Finally, you can contact us on https://mergify.io/
github-actions[bot] commented 3 years ago

Static memory analysis

Default configuration

MTU: 512 B Input buffer size: 2048 B Input history: 4 Output buffer size: 2048 B Output history: 4

Entity Qty Size per unit
Context 1 5584 B
Topic 12 56 B
Service 4 80 B
Client 4 72 B
Subscription 4 168 B
Publisher 8 184 B
Node 4 56 B
Static input buffer 8 2120 B

TOTAL: 25020 B

kalaajiahmad commented 1 year ago

Hello @pablogs9 is this already part of micro_ros_arduino? i couldn't confirm. If that's the case how can i set this RMW_PARAM config to REUSE instead of REPLACE, i tried adding RMW_UXRCE_CREATION_MODE but it doesn't look like it's available to set Or is this so old and the interface changed

pablogs9 commented 1 year ago

Hello @kalaajiahmad, yes, now by default all entities are created in UXR_REPLACE | UXR_REUSE.

Your requirement is to use a bare UXR_REPLACE? By now it is not configurable the default mode, why do you need to configure it?

kalaajiahmad commented 1 year ago

Hope you're doing well @pablogs9 Oh ok understood, i thought it was by default UXR_REPLACE. No actually i wanted it to be REUSE so that i don't force entity creation from scratch for every re-connection :) But in that case it will behave according to what is already created based on the client_key correct? Then i am happy :)

Again thanks for your time 👍🏻

pablogs9 commented 1 year ago

Yes, just ensure that you always use the same client key, and entities will be reused.