RTI Connext .Net APIs  Version 5.2.0
 All Classes Namespaces Functions Variables Enumerations Properties Groups Pages
RTI.Connext.RequestReply.Requester< TReq, TRep > Class Template Reference

Allows sending requests and receiving replies. More...

Inherits AlreadyDisposedHelper< Requester< TReq, TRep >>, and IDisposable.

Public Member Functions

 Requester (RequesterParams parameters)
 Creates a Requester with parameters.
 
 Requester (DomainParticipant participant, String serviceName, TypeSupport requestTypeSupport, TypeSupport replyTypeSupport)
 Creates a Requester with the minimum set of parameters.
 
void SendRequest (TReq request)
 Sends a request.
 
void SendRequest (WriteSample< TReq > request)
 Sends a request and gets back information about it that allows correlation with future replies.
 
bool ReceiveReply (Sample< TRep > reply, Duration_t maxWait)
 Waits for a reply and copies its contents into a Sample.
 
IList< Sample< TRep > > ReceiveReplies (IList< Sample< TRep >> replies, int maxCount, Duration_t maxWait)
 Waits for multiple replies and copies them into a list.
 
IList< Sample< TRep > > ReceiveReplies (IList< Sample< TRep >> replies, int minCount, int maxCount, Duration_t maxWait)
 Waits for multiple replies and copies them into a list.
 
LoanedSamples< TRep > ReceiveReplies (Duration_t maxWait)
 Waits for multiple replies and provides a loaned container to access them.
 
LoanedSamples< TRep > ReceiveReplies (int minCount, int maxCount, Duration_t maxWait)
 Waits for multiple replies and provides a loaned container to access them.
 
bool TakeReply (Sample< TRep > reply)
 Copies the contents of a reply into a Sample.
 
LoanedSamples< TRep > TakeReplies ()
 Provides a loaned container to access the existing replies.
 
LoanedSamples< TRep > TakeReplies (int maxCount)
 Provides a loaned container to access the existing replies.
 
IList< Sample< TRep > > TakeReplies (IList< Sample< TRep >> replies, int maxCount)
 Copies existing replies into a list.
 
bool TakeReply (Sample< TRep > reply, SampleIdentity_t relatedRequestId)
 Copies the contents of a reply for a specific request.
 
LoanedSamples< TRep > TakeReplies (SampleIdentity_t relatedRequestId)
 Provides a loaned container to access the existing replies for a specific request.
 
LoanedSamples< TRep > TakeReplies (int maxCount, SampleIdentity_t relatedRequestId)
 Provides a loaned container to access the existing replies for a specific request.
 
IList< Sample< TRep > > TakeReplies (IList< Sample< TRep >> replies, int maxCount, SampleIdentity_t relatedRequestId)
 Copies existing replies for a specific request into a list.
 
bool ReadReply (Sample< TRep > reply)
 Copies the contents of a reply into a Sample.
 
LoanedSamples< TRep > ReadReplies ()
 Provides a loaned container to access the existing replies.
 
LoanedSamples< TRep > ReadReplies (int maxCount)
 Provides a loaned container to access the existing replies.
 
IList< Sample< TRep > > ReadReplies (IList< Sample< TRep >> replies, int maxCount)
 Copies existing replies into a list.
 
bool ReadReply (Sample< TRep > reply, SampleIdentity_t relatedRequestId)
 Copies the contents of a reply for a specific request.
 
LoanedSamples< TRep > ReadReplies (SampleIdentity_t relatedRequestId)
 Provides a loaned container to access the existing replies for a specific request.
 
LoanedSamples< TRep > ReadReplies (int maxCount, SampleIdentity_t relatedRequestId)
 Provides a loaned container to access the existing replies for a specific request.
 
IList< Sample< TRep > > ReadReplies (IList< Sample< TRep >> replies, int maxCount, SampleIdentity_t relatedRequestId)
 Copies existing replies for a specific request into a list.
 
bool WaitForReplies (Duration_t maxWait)
 Waits for replies to any request.
 
bool WaitForReplies (int minCount, Duration_t maxWait)
 Waits for replies to any request.
 
bool WaitForReplies (int minCount, Duration_t maxWait, SampleIdentity_t relatedRequestId)
 Waits for replies to a specific request.
 
WriteSample< TReq > CreateRequestSample ()
 Creates a WriteSample for sending requests.
 
WriteSample< TReq > CreateRequestSample (TReq data)
 Creates a WriteSample for sending requests.
 
Sample< TRep > CreateReplySample ()
 Creates a Sample for getting replies.
 

Properties

TypedDataWriter< TReq > RequestDataWriter [get]
 Retrieves the underlying DDS::DataWriter.
 
TypedDataReader< TRep > ReplyDataReader [get]
 Retrieves the underlying DDS::DataReader.
 

Detailed Description

Allows sending requests and receiving replies.

A requester is an entity with two associated topics: a request topic and a reply topic. It can send requests by publishing samples of the request topic and receive replies to those requests by subscribing to the reply topic.

Valid types for these topics (TReq and TRep) are: those generated by the rtiddsgen code generator, the DDS built-in types, and DynamicData.

For example:

Requester<Foo, Bar> requester;
Requester<DynamicData, Bar> requester;
Requester<Foo, Octets> requester;

A Replier and a Requester communicate when they use the same topics for requests and replies (see RTI::Connext::RequestReply::RequesterParams::SetServiceName) on the same domain.

A Requester can send requests and receive one or multiple replies. It does that using the following operations:

  • Sending requests (i.e. publishing request samples on the request topic)
  • Waiting for replies to be received by the middleware (for any request or for a specific request)
  • Getting those replies from the middleware. There are two ways to do this: take (the data samples are removed from the middleware), read (the data samples remain in the middleware and can be read or taken again).
  • A convenience operation, receive (which is a combination of wait and take).

In all cases, the middleware guarantees that a requester only receives reply samples that are associated with that requests that it sends.

For multi-reply scenarios, in which a Requester receives multiple replies from a Replier for a given request, the Requester can check if a reply is the last reply of a sequence of replies. To do so, see if the bit ::DDS::SampleFlagBits::INTERMEDIATE_REPLY_SEQUENCE_SAMPLE is set in DDS::SampleInfo::flag after receiving each reply. This indicates it is NOT the last reply.

A requester has an associated DDS::DomainParticipant, which can be shared with other requesters or RTI Connext routines. All the other RTI Connext entities required for the request-reply interaction, including a DDS::DataWriter for writing requests and a DDS::DataReader for reading replies, are automatically created when the requester is constructed.

Quality of Service for the underlying DataWriter and DataReader can be configured (see RTI::Connext::RequestReply::RequesterParams::SetQosProfile). By default, they are created with reliable quality of service. The exact default configuration is described here: Configuring Request-Reply QoS profiles

Template Parameters
TReqThe data type for the request topic
TRepThe data type for the reply topic
See Also
RTI::Connext::RequestReply::Replier<TReq,TRep>
Request-Reply Examples
Basic Requester example
Type Constraints
TReq :class 
TReq :global 
TReq :DDS.ICopyable<TReq> 
TReq :new() 
TRep :class 
TRep :global 
TRep :DDS.ICopyable<TRep> 
TRep :new() 

Constructor & Destructor Documentation

RTI.Connext.RequestReply.Requester< TReq, TRep >.Requester ( RequesterParams  parameters)
inline

Creates a Requester with parameters.

Parameters
paramsAll the parameters that configure this requester. See RTI::Connext::RequestReply::RequesterParams for the list of mandatory parameters.
Exceptions
Oneof the Standard Return Codes
See Also
RTI::Connext::RequestReply::RequesterParams
Creating a Requester
RTI.Connext.RequestReply.Requester< TReq, TRep >.Requester ( DomainParticipant  participant,
String  serviceName,
TypeSupport  requestTypeSupport,
TypeSupport  replyTypeSupport 
)
inline

Creates a Requester with the minimum set of parameters.

Parameters
participantThe DomainParticipant this requester uses to join a DDS domain
serviceNameThe service name. See RTI::Connext::RequestReply::RequesterParams::SetServiceName
requestTypeSupportThe type support for type TReq
replyTypeSupportThe type support for type TReq
Exceptions
Oneof the Standard Return Codes

Member Function Documentation

void RTI.Connext.RequestReply.Requester< TReq, TRep >.SendRequest ( TReq  request)
inline

Sends a request.

If a future reply needs to be correlated to exactly this request, use RTI::Connext::RequestReply::Requester<TReq,TRep>::SendRequest(WriteSample<TReq>).

Parameters
requestThe request to be sent
Exceptions
Oneof the Standard Return Codes
MT Safety:
SAFE
See Also
SendRequest(WriteSample<TReq>)
void RTI.Connext.RequestReply.Requester< TReq, TRep >.SendRequest ( WriteSample< TReq >  request)
inline

Sends a request and gets back information about it that allows correlation with future replies.

After calling this operation, the sample contains a valid identity that can be used for correlation with future replies.

See example code in Correlating requests and replies.

Parameters
request<<inout>> Contains the request and optional write parameters. When this call ends succesfully, RTI::Connext::Infrastructure::WriteSample<T> contains a valid identity that can be used for correlation with future replies.
Exceptions
Oneof the Standard Return Codes ; DDS::Retcode_Timeout may be reported in the same conditions as in DDS::TypedDataWriter::write.
MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::WriteSample<T>::Identity
CreateRequestSample()
WaitForReplies(int,Duration_t,SampleIdentity_t)
TakeReplies(int,SampleIdentity_t)
Correlating requests and replies
bool RTI.Connext.RequestReply.Requester< TReq, TRep >.ReceiveReply ( Sample< TRep >  reply,
Duration_t  maxWait 
)
inline

Waits for a reply and copies its contents into a Sample.

This operation is equivalent to using WaitForReplies(int,Duration_t) and TakeReply(Sample<TRep>).

MT Safety:
Same restrictions as WaitForReplies(int,Duration_t)
See Also
RTI::Connext::Infrastructure::Sample<T>
WaitForReplies(int,Duration_t)
TakeReply(Sample<TRep>)
Basic Requester example
IList<Sample<TRep> > RTI.Connext.RequestReply.Requester< TReq, TRep >.ReceiveReplies ( IList< Sample< TRep >>  replies,
int  maxCount,
Duration_t  maxWait 
)
inline

Waits for multiple replies and copies them into a list.

This operation is equivalent to using ReceiveReplies(IList<Sample<TRep>>,int,int,Duration_t) with min_count = 0

MT Safety:
See WaitForReplies(int,Duration_t)
See Also
RTI::Connext::Infrastructure::Sample<T>
ReceiveReplies(IList<Sample<TRep>>,int,Duration_t)
IList<Sample<TRep> > RTI.Connext.RequestReply.Requester< TReq, TRep >.ReceiveReplies ( IList< Sample< TRep >>  replies,
int  minCount,
int  maxCount,
Duration_t  maxWait 
)
inline
LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.ReceiveReplies ( Duration_t  maxWait)
inline

Waits for multiple replies and provides a loaned container to access them.

This operation is equivalent to using ReceiveReplies(int,int,Duration_t) with min_count=1 and max_count=DDS::ResourceLimitsQosPolicy::LENGTH_UNLIMITED

MT Safety:
See WaitForReplies(int,Duration_t)
See Also
RTI::Connext::Infrastructure::LoanedSamples<T>
ReceiveReplies(int,int,Duration_t)
LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.ReceiveReplies ( int  minCount,
int  maxCount,
Duration_t  maxWait 
)
inline

Waits for multiple replies and provides a loaned container to access them.

This operation is equivalent to using WaitForReplies(int,Duration_t) and TakeReplies(int).

MT Safety:
See WaitForReplies(int,Duration_t)
Exceptions
Oneof the Standard Return Codes
See Also
RTI::Connext::Infrastructure::LoanedSamples<T>
WaitForReplies(int,Duration_t)
TakeReplies(int)
bool RTI.Connext.RequestReply.Requester< TReq, TRep >.TakeReply ( Sample< TRep >  reply)
inline

Copies the contents of a reply into a Sample.

Takes a reply sample from the Requester and makes a copy.

This operation may be used after a call to WaitForReplies(int,Duration_t).

To avoid copies, you can use TakeReplies(int).

Parameters
replyThe sample where the reply data and the related SampleInfo are copied
Returns
true if there was a reply to get. If this operation returns false, the contents of reply remain unchanged, except DDS::SampleInfo::valid_data becomes false.
Exceptions
Oneof the Standard Return Codes
MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::Sample<T>
WaitForReplies(int,Duration_t)
LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.TakeReplies ( )
inline

Provides a loaned container to access the existing replies.

Equivalent to using TakeReplies(int) with max_count=DDS::ResourceLimitsQosPolicy::LENGTH_UNLIMITED.

MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::LoanedSamples<T>
TakeReplies(int)
LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.TakeReplies ( int  maxCount)
inline

Provides a loaned container to access the existing replies.

Takes all the existing replies up to maxCount and provides a loaned container to access them.

This operation does not make a copy of the data.

The loan is returned with RTI::Connext::Infrastructure::LoanedSamples<T>::Dispose

This operation may be used after a call to WaitForReplies(int,Duration_t)

See an example here: Taking loaned samples

Parameters
maxCountThe maximum number of samples that are taken at a time. The special value DDS::ResourceLimitsQosPolicy::LENGTH_UNLIMITED may be used. This value will read up to the limit specified by DDS::DataReaderResourceLimitsQosPolicy::max_samples_per_read
Returns
A container with up to maxCount elements. May be empty if there were no replies to get.
Exceptions
Oneof the Standard Return Codes
MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::Sample<T>
RTI::Connext::Infrastructure::LoanedSamples<T>
RTI::Connext::Infrastructure::LoanedSamples<T>::Dispose
WaitForReplies(int,Duration_t)
DDS::TypedDataReader::take (for a more detailed description on how QoS and other parameters affect the underlying DataReader)
Taking loaned samples
Taking samples by copy
IList<Sample<TRep> > RTI.Connext.RequestReply.Requester< TReq, TRep >.TakeReplies ( IList< Sample< TRep >>  replies,
int  maxCount 
)
inline

Copies existing replies into a list.

Takes all the existing replies up to maxCount and copies them into a list.

If the first argument is null, a new list containing the copies is created and returned.

If a non-null list is passed as the first argument, the copies are inserted into that list. The list may already contain some elements. Any existing elements are overwritten. If the list contains less elements, samples are inserted at the end; if it contains more elements, the excess samples are removed from the end.

This operation may be used after a call to WaitForReplies(int,Duration_t).

Parameters
repliesThe list where the samples are copied or null to create a new list.
maxCountThe maximum number of samples that are taken at a time. The special value DDS::ResourceLimitsQosPolicy::LENGTH_UNLIMITED may be used.
Returns
Returns replies if it's not null. Otherwise it returns a new list.
Exceptions
Oneof the Standard Return Codes
MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::Sample<T>
WaitForReplies(int,Duration_t)
TakeReplies(int)
Taking loaned samples
bool RTI.Connext.RequestReply.Requester< TReq, TRep >.TakeReply ( Sample< TRep >  reply,
SampleIdentity_t  relatedRequestId 
)
inline

Copies the contents of a reply for a specific request.

This operation is analogous to TakeReply(Sample<TRep>) except the reply corresponds to a specific request.

Parameters
replyThe sample where a reply is copied into
relatedRequestIdThe identity of a request previously sent by this Requester
Returns
true if there was a reply to get. If this operation returns false, the contents of reply remain unchanged, except DDS::SampleInfo::valid_data becomes false.
MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::Sample<T>
TakeReply(Sample<TRep>)
SendRequest(WriteSample<TReq>)
Correlating requests and replies
LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.TakeReplies ( SampleIdentity_t  relatedRequestId)
inline

Provides a loaned container to access the existing replies for a specific request.

Equivalent to using TakeReplies(int,SampleIdentity_t) with max_count=DDS::ResourceLimitsQosPolicy::LENGTH_UNLIMITED

MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::LoanedSamples<T>
TakeReplies(int,SampleIdentity_t)
LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.TakeReplies ( int  maxCount,
SampleIdentity_t  relatedRequestId 
)
inline

Provides a loaned container to access the existing replies for a specific request.

This operation is analogous to TakeReplies(int) except the replies this operation provides correspond to a specific request.

Parameters
maxCountThe maximum number of samples that are taken at a time. The special value DDS::ResourceLimitsQosPolicy::LENGTH_UNLIMITED may be used.
relatedRequestIdThe identity of a request previously sent by this Requester
MT Safety:
SAFE
See Also
TakeReplies(int)
RTI::Connext::Infrastructure::LoanedSamples<T>
Taking samples by copy
Correlating requests and replies
IList<Sample<TRep> > RTI.Connext.RequestReply.Requester< TReq, TRep >.TakeReplies ( IList< Sample< TRep >>  replies,
int  maxCount,
SampleIdentity_t  relatedRequestId 
)
inline

Copies existing replies for a specific request into a list.

This operation is analogous to TakeReplies(IList<Sample<TRep>>,int) except the replies correspond to a specific request.

Parameters
repliesThe list where the samples are copied or null to create a new List.
maxCountThe maximum number of samples that are taken at a time. The special value DDS::ResourceLimitsQosPolicy::LENGTH_UNLIMITED may be used.
relatedRequestIdThe identity of a request previously sent by this Requester
Returns
replies if it is not null. Otherwise it returns a new List.
MT Safety:
SAFE
See Also
WaitForReplies(int,Duration_t)
TakeReplies(IList<Sample<TRep>>,int)
Taking loaned samples
Correlating requests and replies
bool RTI.Connext.RequestReply.Requester< TReq, TRep >.ReadReply ( Sample< TRep >  reply)
inline

Copies the contents of a reply into a Sample.

This operation is equivalent to RTI::Connext::RequestReply::Requester<TReq,TRep>::TakeReply(Sample<TRep>) except the reply remains in the Requester and can be read or taken again.

LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.ReadReplies ( )
inline

Provides a loaned container to access the existing replies.

This operation is equivalent to RTI::Connext::RequestReply::Requester<TReq,TRep>::TakeReplies() except the replies remain in the Requester and can be read or taken again.

LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.ReadReplies ( int  maxCount)
inline

Provides a loaned container to access the existing replies.

This operation is equivalent to RTI::Connext::RequestReply::Requester<TReq,TRep>::TakeReplies(int) except the replies remain in the Requester and can be read or taken again.

IList<Sample<TRep> > RTI.Connext.RequestReply.Requester< TReq, TRep >.ReadReplies ( IList< Sample< TRep >>  replies,
int  maxCount 
)
inline

Copies existing replies into a list.

This operation is equivalent to RTI::Connext::RequestReply::Requester<TReq,TRep>::TakeReplies(IList<Sample<TRep>>,int) except the replies remain in the Requester and can be read or taken again.

bool RTI.Connext.RequestReply.Requester< TReq, TRep >.ReadReply ( Sample< TRep >  reply,
SampleIdentity_t  relatedRequestId 
)
inline

Copies the contents of a reply for a specific request.

This operation is equivalent to RTI::Connext::RequestReply::Requester<TReq,TRep>::TakeReply(Sample<TRep>,SampleIdentity_t) except the reply remains in the Requester and can be read or taken again.

LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.ReadReplies ( SampleIdentity_t  relatedRequestId)
inline

Provides a loaned container to access the existing replies for a specific request.

This operation is equivalent to RTI::Connext::RequestReply::Requester<TReq,TRep>::TakeReplies(SampleIdentity_t) except the replies remain in the Requester and can be read or taken again.

LoanedSamples<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.ReadReplies ( int  maxCount,
SampleIdentity_t  relatedRequestId 
)
inline

Provides a loaned container to access the existing replies for a specific request.

This operation is equivalent to RTI::Connext::RequestReply::Requester<TReq,TRep>::TakeReplies(int,SampleIdentity_t) except the replies remain in the Requester and can be read or taken again.

IList<Sample<TRep> > RTI.Connext.RequestReply.Requester< TReq, TRep >.ReadReplies ( IList< Sample< TRep >>  replies,
int  maxCount,
SampleIdentity_t  relatedRequestId 
)
inline

Copies existing replies for a specific request into a list.

This operation is equivalent to RTI::Connext::RequestReply::Requester<TReq,TRep>::TakeReplies(IList<Sample<TRep>>,int,SampleIdentity_t) except the replies remain in the Requester and can be read or taken again.

bool RTI.Connext.RequestReply.Requester< TReq, TRep >.WaitForReplies ( Duration_t  maxWait)
inline

Waits for replies to any request.

This operation is equivalent to using WaitForReplies(int,Duration_t) with min_count=1.

See Also
WaitForReplies(int,Duration_t)
bool RTI.Connext.RequestReply.Requester< TReq, TRep >.WaitForReplies ( int  minCount,
Duration_t  maxWait 
)
inline

Waits for replies to any request.

This operation waits for minCount requests to be available for up to maxWait .

If this operation is called several times but the available replies are not taken (with TakeReplies(int)), this operation may return immediately and will not wait for new replies. New replies may replace existing ones if they are not taken, depending on the DDS::HistoryQosPolicy used to configure this Requester.

Parameters
minCountMinimum number of replies that need to be available for this operation to unblock.
maxWaitMaximum waiting time after which this operation unblocks, regardless of how many replies are available.
Returns
true if at least minCount replies were available before maxWait elapsed, or false otherwise.
MT Safety:
Concurrent calls to this operation on the same object are not allowed. However, waiting for replies for specific requests in parallel is supported (see WaitForReplies(int,Duration_t,SampleIdentity_t)).
See Also
TakeReplies(int)
bool RTI.Connext.RequestReply.Requester< TReq, TRep >.WaitForReplies ( int  minCount,
Duration_t  maxWait,
SampleIdentity_t  relatedRequestId 
)
inline

Waits for replies to a specific request.

This operation is analogous to WaitForReplies(int,Duration_t) except this operation waits for replies for a specific request.

Parameters
minCountMinimum number of replies for the related request that need to be available for this operation to unblock.
maxWaitMaximum wait time after which this operation unblocks, regardless of how many replies are available.
relatedRequestIdThe identity of a request previously sent by this Requester
Returns
true if at least minCount replies for the related request were available before maxWait elapsed, or false otherwise.
Exceptions
Oneof the Standard Return Codes
MT Safety:
SAFE
See Also
WaitForReplies(int,Duration_t)
WriteSample<TReq> RTI.Connext.RequestReply.Requester< TReq, TRep >.CreateRequestSample ( )
inline

Creates a WriteSample for sending requests.

Returns
A new WriteSample with data of type TReq initialized with default values and default write parameters.
MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::WriteSample<T>
SendRequest(WriteSample<TReq>)
WriteSample<TReq> RTI.Connext.RequestReply.Requester< TReq, TRep >.CreateRequestSample ( TReq  data)
inline

Creates a WriteSample for sending requests.

Returns
A new WriteSample with the specified data and default write parameters.
MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::WriteSample<T>
SendRequest(WriteSample<TReq>)
Sample<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.CreateReplySample ( )
inline

Creates a Sample for getting replies.

Returns
A new Sample with default data of type TRep and invalid SampleInfo.
MT Safety:
SAFE
See Also
RTI::Connext::Infrastructure::Sample<T>
ReceiveReply(Sample<TRep>,Duration_t)
TakeReply(Sample<TRep>)
TakeReply(Sample<TRep>,SampleIdentity_t)

Property Documentation

TypedDataWriter<TReq> RTI.Connext.RequestReply.Requester< TReq, TRep >.RequestDataWriter
get

Retrieves the underlying DDS::DataWriter.

Accessing the request DataWriter may be useful for a number of advanced use cases, such as:

  • Finding matching subscriptions (e.g., Repliers)
  • Setting a DataWriter listener
  • Getting DataWriter protocol or cache statuses
MT Safety:
SAFE
See Also
DDS::DataWriter
DDS::TypedDataWriter
DDS::DataWriter::get_matched_subscriptions
DDS::DataWriter::get_matched_subscription_data
DDS::DataWriter::set_listener
DDS::DataWriter::get_datawriter_protocol_status
TypedDataReader<TRep> RTI.Connext.RequestReply.Requester< TReq, TRep >.ReplyDataReader
get

Retrieves the underlying DDS::DataReader.

Accessing the reply DataReader may be useful for a number of advanced use cases, such as:

  • Finding matching publications (e.g., Repliers)
  • Setting a DataReader listener
  • Getting DataReader protocol or cache statuses
MT Safety:
SAFE
See Also
DDS::DataReader
DDS::TypedDataReader
DDS::DataReader::get_matched_publications
DDS::DataReader::get_matched_publication_data
DDS::DataReader::set_listener
DDS::DataReader::get_datareader_protocol_status

RTI Connext .Net APIs Version 5.2.0 Copyright © Sun Jun 21 2015 Real-Time Innovations, Inc