-
Notifications
You must be signed in to change notification settings - Fork 481
Open
Labels
Description
Feature request
Feature description
Implement KEEP_ALL history policy with intraprocess communication (see #727).
Implement non-volatile durability with intraprocess communication.
Implementation considerations
For sizing the buffers when KEEP_ALL history policy is used, resource limits qos policy will be needed (ros2/rmw#176).
For implementing TRANSIENT_LOCAL durability:
- With history keep_last, the intra_process_manager could store the last message send of each publisher. Adding a map, with
publisher_idas keys and storing a shared_ptr to the message sounds reasonable. - With history KEEP_ALL, the intra_process_manager should never pop from the internal buffer.
- When a new subscription is created with TRANSIENT_LOCAL durability, all the messages from publishers in the same topic with TRANSIENT_LOCAL durability should be delivered (depending on subscriber and publisher history policy if the last of all the messages are delivered). When the publisher history policy was keep_last, if the message is not found in the buffer (because it was popped), it should be taken from the
last_messagemap (mentioned above).
Gyebroeborghi10 and SammyRamone