RTI Routing Service Version 7.1.0
rti::routing::adapter::DiscoveryStreamReader Class Referenceabstract

Definition of a special StreamReader to read information about data streams. More...

#include <DiscoveryStreamReader.hpp>

Inheritance diagram for rti::routing::adapter::DiscoveryStreamReader:
rti::routing::adapter::StreamReader rti::routing::UpdatableEntity

Public Member Functions

virtual void take (std::vector< rti::routing::StreamInfo * > &sample_seq)=0
 Takes a collection of all available StreamInfo samples. More...
 
virtual void return_loan (std::vector< rti::routing::StreamInfo * > &sample_seq)=0
 Returns a loan on the read or taken StreamInfo samples. More...
 
- Public Member Functions inherited from rti::routing::adapter::StreamReader
virtual void take (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq)=0
 Takes a collection of all data samples and info samples available from an input stream. More...
 
virtual void read (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq)=0
 Variation of StreamReader::take where the returned samples will remain in the StreamReader's cache, so they can be read again by subsequence StreamReader::take or StreamReader::read operations. More...
 
virtual void take (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq, const SelectorState &selector_state)=0
 Variation of StreamReader::take where the returned samples shall represent the subset specified by the SelectorState. More...
 
virtual void read (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq, const SelectorState &selector_state)=0
 Variation of StreamReader::read where the returned samples shall represent the subset specified by the SelectorState. More...
 
virtual void return_loan (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq)=0
 Returns a loan on the read or taken data samples and info samples. More...
 
virtual void * create_content_query (void *old_query_data, const dds::topic::Filter &filter)=0
 Creates a query object that selects the data with the specified filter. More...
 
virtual void delete_content_query (void *query_data)=0
 Deletes a content query created from this StreamReader. More...
 
virtual ~StreamReader ()
 Virtual destructor. More...
 
- Public Member Functions inherited from rti::routing::UpdatableEntity
virtual void update (const std::map< std::string, std::string > &properties)
 Updates a pluggable entity. More...
 
virtual ~UpdatableEntity ()
 Virtual destructor. More...
 

Detailed Description

Definition of a special StreamReader to read information about data streams.

Multi-threading safety:
Safe All the operations on a DiscoveryStreamReader always serialized, no matter from which Connection it belongs.

Member Function Documentation

◆ take()

virtual void rti::routing::adapter::DiscoveryStreamReader::take ( std::vector< rti::routing::StreamInfo * > &  sample_seq)
pure virtual

Takes a collection of all available StreamInfo samples.

When RTI Routing Service is done using the samples, it will 'return the loan' to the DiscoveryStreamReader by calling DiscoveryStreamReader::return_loan. It is guaranteed RTI Routing Service takes one outstanding loan at time.

The samples provided with this operation are considered 'removed' from the DiscoveryStreamReader's cache, and they shall no longer be returned by subsequent DiscoveryStreamReader::take.

Parameters
sample_seq<<inout>> Vector that will hold the StreamInfo samples. RTI Routing Service provides this vector to the StreamReader to fill. For each call, the size of the vector is zero.
Exceptions
std::exception

◆ return_loan()

virtual void rti::routing::adapter::DiscoveryStreamReader::return_loan ( std::vector< rti::routing::StreamInfo * > &  sample_seq)
pure virtual

Returns a loan on the read or taken StreamInfo samples.

RTI Routing Service calls this method to indicate that it is done accessing the collection of StreamInfo samples obtained by an earlier invocation of DiscoveryStreamReader::take.

Parameters
sample_seq<<in>> Vector of loaned data samples.
Exceptions
std::exception