User Tools

Site Tools


dido:public:ra:xapend:xapend.f_qos:reader_data_lifecycle

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:reader_data_lifecycle [2021/06/22 00:43]
char
dido:public:ra:xapend:xapend.f_qos:reader_data_lifecycle [2021/10/04 13:40] (current)
50.19.247.197 ↷ Links adapted because of a move operation
Line 1: Line 1:
 ====== F.22 Reader Data Lifecycle ​ ====== ====== F.22 Reader Data Lifecycle ​ ======
-[[dido:​public:​ra:​xapend:​xapend.f_qos| Return to DDS Quality of Service ]]+[[dido:​public:​ra:​xapend:​xapend.f_qos:start| Return to DDS Quality of Service ]]
  
-The ''​READER_DATA_LIFECYCLE''​ policy controls the behavior of the DataReader with regards to the lifecycle of the data-[[dido:​public:​ra:​xapend:​xapend.a_glossary:​i:​instance|instances]] ​it manages, that is, the data-instances ​that have been received and for which the DataReader maintains some internal resources.+The ''​READER_DATA_LIFECYCLE'' ​[[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​policy|policy]] ​controls the behavior of the DataReader with regards to the lifecycle of the data-instances it manages, that is, the data-[[dido:​public:​ra:​xapend:​xapend.a_glossary:​i:​instance|instances]] that have been received and for which the DataReader maintains some internal resources.
  
-The ''​DataReader''​ internally maintains the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​sample|samples]] that have not been taken by the application,​ subject to the constraints imposed by other [[dido:​public:​ra:​xapend:​xapend.a_glossary:​q:​qos|QoS]] policies such as ''​[[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​history_qos|HISTORY]]''​ and ''​RESOURCE_LIMIT''​.+The ''​DataReader''​ internally maintains the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​sample|samples]] that have not been taken by the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​application|application]], subject to the constraints imposed by other [[dido:​public:​ra:​xapend:​xapend.a_glossary:​q:​qos|QoS]] policies such as ''​[[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​history_qos|HISTORY]]''​ and ''​RESOURCE_LIMIT''​.
  
 The ''​DataReader''​ also maintains information regarding the identity, ''​view_state''​ and ''​instance_state''​ of data-instances even after all samples have been ‘taken.’ This is needed to properly compute the states when future samples arrive. The ''​DataReader''​ also maintains information regarding the identity, ''​view_state''​ and ''​instance_state''​ of data-instances even after all samples have been ‘taken.’ This is needed to properly compute the states when future samples arrive.
  
 Under normal circumstances the ''​DataReader''​ can only reclaim all resources for instances for which there are no writers and for which all samples have been ‘taken.’ The last sample the ''​DataReader''​ will have taken for that instance will have an instance_state of either ''​NOT_ALIVE_NO_WRITERS''​ or ''​NOT_ALIVE_DISPOSED''​ depending on whether the last writer that had ownership of the instance disposed it or not. The following figure provides a state chart describing the transitions possible for the ''​instance_state''​. Under normal circumstances the ''​DataReader''​ can only reclaim all resources for instances for which there are no writers and for which all samples have been ‘taken.’ The last sample the ''​DataReader''​ will have taken for that instance will have an instance_state of either ''​NOT_ALIVE_NO_WRITERS''​ or ''​NOT_ALIVE_DISPOSED''​ depending on whether the last writer that had ownership of the instance disposed it or not. The following figure provides a state chart describing the transitions possible for the ''​instance_state''​.
 +
 +<​figure>​
 +{{ :​dido:​public:​ra:​xapend:​xapend.f_qos:​statechart_of_the_instance_state_and_view_state_for_a_single_instance..png?​500 }}
 +<​caption>​
 + ​Statechart of the instance_state and view_state for a single instance.
 +</​caption>​
 +</​figure>​
 +
  
 In the absence of the ''​READER_DATA_LIFECYCLE''​ QoS this behavior could cause problems if the application “forgets” to ‘take’ those samples. The ‘untaken’ samples will prevent the ''​DataReader''​ from reclaiming the resources and they would remain in the ''​DataReader''​ indefinitely. In the absence of the ''​READER_DATA_LIFECYCLE''​ QoS this behavior could cause problems if the application “forgets” to ‘take’ those samples. The ‘untaken’ samples will prevent the ''​DataReader''​ from reclaiming the resources and they would remain in the ''​DataReader''​ indefinitely.
Line 16: Line 24:
 The ''​autopurge_disposed_samples_delay''​ defines the maximum duration for which the DataReader will maintain samples for an instance once its instance_state becomes NOT_ALIVE_DISPOSED. After this time elapses, the DataReader will purge all samples for the instance. The ''​autopurge_disposed_samples_delay''​ defines the maximum duration for which the DataReader will maintain samples for an instance once its instance_state becomes NOT_ALIVE_DISPOSED. After this time elapses, the DataReader will purge all samples for the instance.
   ​   ​
-Source: ​<wrap hi><​color blue>To Be Updated</color><​/wrap>  ​+Source: ​[[https://www.omg.org/​spec/​DDS/​1.4/​PDF | DDS 1.4 Spec]] 
  
-<color darkred><​todo @Char> Add source</todo><​/color>+/**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
 +/* To add a discussion page to this page, comment out the line that says  
 +  ~~DISCUSSION:​off~~ 
 +*/ 
 +~~DISCUSSION:​on|Outstanding Issues~~ 
 +~~DISCUSSION:​off~~
  
dido/public/ra/xapend/xapend.f_qos/reader_data_lifecycle.1624336995.txt.gz · Last modified: 2021/06/22 00:43 by char