User Tools

Site Tools


dido:public:ra:xapend:xapend.f_qos:durability

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:xapend:xapend.f_qos:durability [2021/06/11 16:15]
char
dido:public:ra:xapend:xapend.f_qos:durability [2021/10/04 13:40] (current)
50.19.247.197 ↷ Links adapted because of a move operation
Line 1: Line 1:
 ====== F.4 Durability ====== ====== F.4 Durability ======
-[[dido:​public:​ra:​xapend:​xapend.f_qos| Return to Quality of Service ]]+[[dido:​public:​ra:​xapend:​xapend.f_qos:start| Return to DDS Quality of Service ]]
  
   ;Note   ;Note
     : The decoupling between ''​DataReader''​ and ''​DataWriter''​ offered by the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​publish-subscribe|Publish/​Subscribe]] paradigm allows an application to write data even if there are no current readers on the network. Moreover, a DataReader that joins the network after some data has been written could potentially be interested in accessing the most current values of the data as well as potentially some history.     : The decoupling between ''​DataReader''​ and ''​DataWriter''​ offered by the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​publish-subscribe|Publish/​Subscribe]] paradigm allows an application to write data even if there are no current readers on the network. Moreover, a DataReader that joins the network after some data has been written could potentially be interested in accessing the most current values of the data as well as potentially some history.
  
-The [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​durability|DURABILITY]] [[dido:​public:​ra:​xapend:​xapend.a_glossary:​q:​qos|QoS]] policy controls whether the Service will actually make data available to late-joining readers. Note that although related, this does not strictly control what data the Service will maintain internally. That is, the Service may choose to maintain some data for its own purposes (e.g., flow control) and yet not make it available to late-joining readers if the DURABILITY QoS policy is set to VOLATILE.+The [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​durability|DURABILITY]] [[dido:​public:​ra:​xapend:​xapend.a_glossary:​q:​qos|QoS]] ​[[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​policy|policy]] ​controls whether the Service will actually make data available to late-joining readers. Note that although related, this does not strictly control what data the Service will maintain internally. That is, the Service may choose to maintain some data for its own purposes (e.g., flow control) and yet not make it available to late-joining readers if the DURABILITY QoS policy is set to VOLATILE.
  
 The value offered is considered compatible with the value requested if and only if the inequality ''​offered kind >= requested kind''​ evaluates to ''​TRUE''​. For the purposes of this inequality, the values of DURABILITY kind are considered ordered such that ''​VOLATILE < TRANSIENT_LOCAL < TRANSIENT < PERSISTENT''​. The value offered is considered compatible with the value requested if and only if the inequality ''​offered kind >= requested kind''​ evaluates to ''​TRUE''​. For the purposes of this inequality, the values of DURABILITY kind are considered ordered such that ''​VOLATILE < TRANSIENT_LOCAL < TRANSIENT < PERSISTENT''​.
  
 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 ''​[[dido:​public:​ra:​xapend:​xapend.a_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 ''​[[dido:​public:​ra:​xapend:​xapend.a_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 ​[[dido:​public:​ra:​xapend:​xapend.a_glossary:​n:​node|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.
dido/public/ra/xapend/xapend.f_qos/durability.1623442533.txt.gz · Last modified: 2021/06/11 16:15 by char