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/08 15:12]
char ↷ Page moved from dido:public:ra:xapend.qos:reader_data_lifecycle to dido:public:ra:xapend:xapend.f_qos:reader_data_lifecycle
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''​ [[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 [[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. 
 + 
 +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. 
 + 
 +The ''​autopurge_nowriter_samples_delay''​ defines the maximum duration for which the DataReader will maintain information regarding an instance once its instance_state becomes NOT_ALIVE_NO_WRITERS. After this time elapses, the DataReader will purge all internal information regarding the instance, any untaken samples will also be lost. 
 + 
 +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~~ 
dido/public/ra/xapend/xapend.f_qos/reader_data_lifecycle.1623179536.txt.gz · Last modified: 2021/06/08 15:12 by char