This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
ddsf:public:guidebook:06_append:02_quality_of_service:durability [2021/07/14 15:55] murphy ↷ Links adapted because of a move operation |
ddsf:public:guidebook:06_append:02_quality_of_service:durability [2021/07/14 15:56] (current) murphy ↷ Links adapted because of a move operation |
||
|---|---|---|---|
| Line 10: | Line 10: | ||
| For the purpose of implementing the DURABILITY QoS kind TRANSIENT or PERSISTENT, the service behaves “as if” for | For the purpose of implementing the DURABILITY QoS kind TRANSIENT or PERSISTENT, the service behaves “as if” for | ||
| - | each ''[[ddsf:private:guidebook:06_append:glossary:t:topic|Topic]]'' that has TRANSIENT or PERSISTENT DURABILITY kind there was a corresponding “built-in” ''DataReader'' and ''DataWriter'' configured to have the same DURABILITY kind. In other words, it is “as if” somewhere in the system (possibly on a remote node) there was a “built-in durability ''DataReader''” that subscribed to that Topic and a “built-in durability ''DataWriter”'' that published that Topic as needed for the new subscribers that join the system. | + | each ''[[ddsf:public:guidebook:06_append:glossary:t:topic|Topic]]'' that has TRANSIENT or PERSISTENT DURABILITY kind there was a corresponding “built-in” ''DataReader'' and ''DataWriter'' configured to have the same DURABILITY kind. In other words, it is “as if” somewhere in the system (possibly on a remote node) there was a “built-in durability ''DataReader''” that subscribed to that Topic and a “built-in durability ''DataWriter”'' that published that Topic as needed for the new subscribers that join the system. |
| For each ''Topic'', the built-in fictitious “persistence service” ''DataReader'' and ''DataWriter'' has its QoS configured from the ''Topic'' QoS of the corresponding ''Topic''. In other words, it is “as-if” the service first did find_topic to access the ''Topic'', and then used the QoS from the Topic to configure the fictitious built-in entities. | For each ''Topic'', the built-in fictitious “persistence service” ''DataReader'' and ''DataWriter'' has its QoS configured from the ''Topic'' QoS of the corresponding ''Topic''. In other words, it is “as-if” the service first did find_topic to access the ''Topic'', and then used the QoS from the Topic to configure the fictitious built-in entities. | ||
| Line 18: | Line 18: | ||
| For a given Topic, the usual request/offered [[ddsf:public:guidebook:06_append:glossary:s:semantics|semantics]] apply to the matching between any DataWriter in the system that writes the Topic and the built-in transient/persistent DataReader for that Topic; similarly for the built-in transient/persistent DataWriter for a Topic and any DataReader for the Topic. As a consequence, a DataWriter that has an incompatible QoS with respect to what the Topic specified will not send its data to the transient/persistent service, and a DataReader that has an incompatible QoS with respect to the specified in the Topic will not get data from it. | For a given Topic, the usual request/offered [[ddsf:public:guidebook:06_append:glossary:s:semantics|semantics]] apply to the matching between any DataWriter in the system that writes the Topic and the built-in transient/persistent DataReader for that Topic; similarly for the built-in transient/persistent DataWriter for a Topic and any DataReader for the Topic. As a consequence, a DataWriter that has an incompatible QoS with respect to what the Topic specified will not send its data to the transient/persistent service, and a DataReader that has an incompatible QoS with respect to the specified in the Topic will not get data from it. | ||
| - | Incompatibilities between local ''DataReader''/''DataWriter'' entities and the corresponding fictitious “built-in transient/persistent entities” cause the REQUESTED_INCOMPATIBLE_QOS/OFFERED_INCOMPATIBLE_QOS status to change and the corresponding [[ddsf:public:guidebook:06_append:glossary:l:listener|Listener]] invocations and/or signaling of ''[[ddsf:public:guidebook:06_append:glossary:c:condition|Condition]]'' and ''[[ddsf:private:guidebook:06_append:glossary:w:waitset|WaitSet]]'' objects as they would with non-fictitious entities. | + | Incompatibilities between local ''DataReader''/''DataWriter'' entities and the corresponding fictitious “built-in transient/persistent entities” cause the REQUESTED_INCOMPATIBLE_QOS/OFFERED_INCOMPATIBLE_QOS status to change and the corresponding [[ddsf:public:guidebook:06_append:glossary:l:listener|Listener]] invocations and/or signaling of ''[[ddsf:public:guidebook:06_append:glossary:c:condition|Condition]]'' and ''[[ddsf:public:guidebook:06_append:glossary:w:waitset|WaitSet]]'' objects as they would with non-fictitious entities. |
| The setting of the service_cleanup_delay controls when the TRANSIENT or PERSISTENT service is able to remove all | The setting of the service_cleanup_delay controls when the TRANSIENT or PERSISTENT service is able to remove all | ||