RTI Routing Service Version 7.1.0
|
A wrapper implementation of a StreamReader that provides a strongly-typed interface through template parameters for data and info representation. More...
#include <StreamReader.hpp>
Public Types | |
typedef Data | DataRep |
The data type. More... | |
typedef Info | InfoRep |
The info type. More... | |
Public Member Functions | |
void | take (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq) RTI_FINAL |
Performs the conversion between the vector of data and info pointers to strongly-type pointers. More... | |
void | read (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq) RTI_FINAL |
Performs the conversion between the vector of data and info pointers to strongly-type pointers. More... | |
void | take (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq, const SelectorState &selector_state) RTI_FINAL |
Performs the conversion between the vector of data and info pointers to strongly-type pointers. More... | |
void | read (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq, const SelectorState &selector_state) RTI_FINAL |
Performs the conversion between the vector of data and info pointers to strongly-type pointers. More... | |
void | return_loan (std::vector< SamplePtr > &sample_seq, std::vector< InfoPtr > &info_seq) RTI_FINAL |
Performs the conversion between the vector of data and info pointers to strongly-type pointers. More... | |
virtual void | take (std::vector< Data * > &sample_seq, std::vector< Info * > &info_seq)=0 |
Interface redefinition. More... | |
virtual void | read (std::vector< Data * > &sample_seq, std::vector< Info * > &info_seq)=0 |
Interface redefinition. More... | |
virtual void | take (std::vector< Data * > &sample_seq, std::vector< Info * > &info_seq, const SelectorState &selector_state)=0 |
Interface redefinition. More... | |
virtual void | read (std::vector< Data * > &sample_seq, std::vector< Info * > &info_seq, const SelectorState &selector_state)=0 |
Interface redefinition. More... | |
virtual void | return_loan (std::vector< Data * > &sample_seq, std::vector< Info * > &info_seq)=0 |
Interface redefinition. More... | |
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 | 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)=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 | 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... | |
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... | |
A wrapper implementation of a StreamReader that provides a strongly-typed interface through template parameters for data and info representation.
You can implement this interface as a convenience to manipulate the data and info representation without dealing with opaque pointers.
typedef Data rti::routing::adapter::TStreamReader< Data, Info >::DataRep |
The data type.
typedef Info rti::routing::adapter::TStreamReader< Data, Info >::InfoRep |
The info type.
|
inlinevirtual |
Performs the conversion between the vector of data and info pointers to strongly-type pointers.
Implements rti::routing::adapter::StreamReader.
References rti::routing::adapter::TStreamReader< Data, Info >::take().
Referenced by rti::routing::adapter::TStreamReader< Data, Info >::take().
|
inlinevirtual |
Performs the conversion between the vector of data and info pointers to strongly-type pointers.
Implements rti::routing::adapter::StreamReader.
References rti::routing::adapter::TStreamReader< Data, Info >::read().
Referenced by rti::routing::adapter::TStreamReader< Data, Info >::read().
|
inlinevirtual |
Performs the conversion between the vector of data and info pointers to strongly-type pointers.
Implements rti::routing::adapter::StreamReader.
References rti::routing::adapter::TStreamReader< Data, Info >::take().
|
inlinevirtual |
Performs the conversion between the vector of data and info pointers to strongly-type pointers.
Implements rti::routing::adapter::StreamReader.
References rti::routing::adapter::TStreamReader< Data, Info >::read().
|
inlinevirtual |
Performs the conversion between the vector of data and info pointers to strongly-type pointers.
Implements rti::routing::adapter::StreamReader.
References rti::routing::adapter::TStreamReader< Data, Info >::return_loan().
Referenced by rti::routing::adapter::TStreamReader< Data, Info >::return_loan().
|
pure virtual |
Interface redefinition.
Implemented in rti::routing::adapter::NoOpStreamReader< Data, Info >.
|
pure virtual |
Interface redefinition.
Implemented in rti::routing::adapter::NoOpStreamReader< Data, Info >.
|
pure virtual |
Interface redefinition.
Implemented in rti::routing::adapter::NoOpStreamReader< Data, Info >.
|
pure virtual |
Interface redefinition.
Implemented in rti::routing::adapter::NoOpStreamReader< Data, Info >.
|
pure virtual |
Interface redefinition.
Implemented in rti::routing::adapter::NoOpStreamReader< Data, Info >.
|
virtual |
Takes a collection of all data samples and info samples available from an input stream.
When RTI Routing Service is done using the samples, it will 'return the loan' to the StreamReader by calling StreamReader::return_loan. Note that multiple calls to this operation can be made before returning the loans.
The samples provided with this operation are considered 'removed' from the StreamReader cache, and they shall no longer be returned by subsequent StreamReader::take or StreamReader::read operations.
This operation represents the minimum required behavior by RTI Routing Service in order to forward data.
sample_seq | <<inout>> Vector that will hold the output samples. RTI Routing Service provides this vector to the StreamReader to fill. For each call, the size of the vector is zero. The data representation associated with the samples will be given by the value of TypeInfo::data_representation_kind that is part of the StreamInfo object passed at StreamWriter creation time. Usually the data representation is dynamic type, which corresponds to dds::core::xtypes::DynamicData. |
info_seq | <<inout>> Vector that will hold the output info samples. RTI Routing Service provides this vector to the StreamReader to fill. For each call, the size of the vector is zero. The implementation may leave the vector untouched if it does not support the concept of sample info. The info representation is dependent of the StreamWriter implementation. Usually when data representation is dynamic type, the sample info is dds::sub::SampleInfo. |
std::exception |
Implements rti::routing::adapter::StreamReader.
|
virtual |
Variation of StreamReader::take where the returned samples shall represent the subset specified by the SelectorState.
SelectorState is configured accordingly from the values set on rti::routing::processor::Selector. This operation will be called only by custom rti::routing::processor::Processor implementations.
sample_seq | |
info_seq | |
selector_state | <<in>> A description of the subset of samples that shall be returned. |
Implements rti::routing::adapter::StreamReader.
|
virtual |
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.
Implements rti::routing::adapter::StreamReader.
|
virtual |
Variation of StreamReader::read where the returned samples shall represent the subset specified by the SelectorState.
SelectorState is configured accordingly from the values set on rti::routing::processor::Selector. This operation will be called only by custom rti::routing::processor::Processor implementations.
sample_seq | |
info_seq | |
selector_state | <<in>> A description of the subset of samples that shall be returned. |
Implements rti::routing::adapter::StreamReader.
|
virtual |
Returns a loan on the read or taken data samples and info samples.
RTI Routing Service calls this method to indicate that it is done accessing the collection of data samples and info samples obtained by an earlier invocation of any variation of StreamReader::take.
sample_seq | <<in>> Vector of loaned data samples. |
info_seq | <<in>> Vector of loaned info samples. |
std::exception |
Implements rti::routing::adapter::StreamReader.