==== Data Reader ==== [[ddsf:public:guidebook:06_append:glossary:start| Return to Glossary ]] An [[ddsf:public:guidebook:06_append:glossary:e:entity|entity]] attached to a [[ddsf:public:guidebook:06_append:glossary:s:subscriber|Subscriber]], used to subscribe to a [[ddsf:public:guidebook:06_append:glossary:t:topic|Topic]], providing type-safe operations to read/receive data. Each Data Reader can be associated to only one Topic and therefore exactly one data type. This Topic must be created before the Data Reader. A data reader can obtain its subscribed data via two approaches: * [[ddsf:public:guidebook:06_append:glossary:l:listener|Listener]]-based approach, provides an asynchronous mechanism to obtain data via call-backs in a separate thread that does not block the main application. * WaitSet-based Approach – A synchronous approach, blocks the current thread until one or more conditions attached to the [[ddsf:public:guidebook:06_append:glossary:w:waitset|WaitSet]] are met, at which point a list of active_conditions are returned. There are several ways samples can be read using a data reader, this includes reading with conditions and some buffer management, described in greater detail in your respective language reference guide. Source: [[https://istkb.adlinktech.com/article/vortex-opensplice-dds-glossary/ | OpenSplice Glossary]]