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/09 22:37]
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 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-[[ddsf:private:guidebook:06_append: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 [[ddsf:private:guidebook:06_append: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 ''​[[ddsf:private:guidebook:06_append: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 15: Line 23:
  
 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: [[https://​www.omg.org/​spec/​DDS/​1.4/​PDF | DDS 1.4 Spec]]
 +
 +
 +/​**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 +/* To add a discussion page to this page, comment out the line that says 
 +  ~~DISCUSSION:​off~~
 +*/
 +~~DISCUSSION:​on|Outstanding Issues~~
 +~~DISCUSSION:​off~~
  
-<WRAP left round box centeralign 15%> 
-To Be Updated 
-</​WRAP>​ 
dido/public/ra/xapend/xapend.f_qos/reader_data_lifecycle.1623292654.txt.gz · Last modified: 2021/06/09 22:37 by char