RTI Connext Java API Version 7.1.0
DataReaderProtocolStatus Class Reference

<<extension>> The status of a reader's internal protocol related metrics, like the number of samples received, filtered, rejected; and status of wire protocol traffic. More...

Inherits Status.

Public Attributes

long received_sample_count
 The number of samples received by a DataReader. More...
 
long received_sample_count_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_sample_count since the last time the status was read. More...
 
long received_sample_bytes
 The number of bytes received by a DataReader. More...
 
long received_sample_bytes_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_sample_bytes since the last time the status was read. More...
 
long duplicate_sample_count
 The number of samples from a remote DataWriter received, not for the first time, by a local DataReader. More...
 
long duplicate_sample_count_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.duplicate_sample_count since the last time the status was read. More...
 
long duplicate_sample_bytes
 The number of bytes of samples from a remote DataWriter received, not for the first time, by a local DataReader. More...
 
long duplicate_sample_bytes_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.duplicate_sample_bytes since the last time the status was read. More...
 
long filtered_sample_count
 [DEPRECATED]. See: com.rti.dds.subscription.DataReaderCacheStatus.time_based_filter_dropped_sample_count com.rti.dds.subscription.DataReaderCacheStatus.content_filter_dropped_sample_count More...
 
long filtered_sample_count_change
 [DEPRECATED]. See: com.rti.dds.subscription.DataReaderCacheStatus.time_based_filter_dropped_sample_count com.rti.dds.subscription.DataReaderCacheStatus.content_filter_dropped_sample_count More...
 
long filtered_sample_bytes
 [DEPRECATED]. See: com.rti.dds.subscription.DataReaderCacheStatus.time_based_filter_dropped_sample_count com.rti.dds.subscription.DataReaderCacheStatus.content_filter_dropped_sample_count More...
 
long filtered_sample_bytes_change
 [DEPRECATED]. See: com.rti.dds.subscription.DataReaderCacheStatus.time_based_filter_dropped_sample_count com.rti.dds.subscription.DataReaderCacheStatus.content_filter_dropped_sample_count More...
 
long received_heartbeat_count
 The number of Heartbeats from a remote DataWriter received by a local DataReader. More...
 
long received_heartbeat_count_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_heartbeat_count since the last time the status was read. More...
 
long received_heartbeat_bytes
 The number of bytes of Heartbeats from a remote DataWriter received by a local DataReader. More...
 
long received_heartbeat_bytes_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_heartbeat_bytes since the last time the status was read. More...
 
long sent_ack_count
 The number of ACKs sent from a local DataReader to a matching remote DataWriter. More...
 
long sent_ack_count_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.sent_ack_count since the last time the status was read. More...
 
long sent_ack_bytes
 The number of bytes of ACKs sent from a local DataReader to a matching remote DataWriter. More...
 
long sent_ack_bytes_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.sent_ack_bytes since the last time the status was read. More...
 
long sent_nack_count
 The number of NACKs sent from a local DataReader to a matching remote DataWriter. More...
 
long sent_nack_count_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.sent_nack_count since the last time the status was read. More...
 
long sent_nack_bytes
 The number of bytes of NACKs sent from a local DataReader to a matching remote DataWriter. More...
 
long sent_nack_bytes_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.sent_nack_bytes since the last time the status was read. More...
 
long received_gap_count
 The number of GAPs received from remote DataWriter to this DataReader. More...
 
long received_gap_count_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_gap_count since the last time the status was read. More...
 
long received_gap_bytes
 The number of bytes of GAPs received from remote DataWriter to this DataReader. More...
 
long received_gap_bytes_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_gap_bytes since the last time the status was read. More...
 
long rejected_sample_count
 The number of times a sample is rejected because it cannot be accepted by a reliable DataReader. More...
 
long rejected_sample_count_change
 The change in com.rti.dds.subscription.DataReaderProtocolStatus.rejected_sample_count since the last time the status was read. More...
 
SequenceNumber_t first_available_sample_sequence_number
 Sequence number of the first available sample in a matched DataWriters reliability queue. More...
 
SequenceNumber_t last_available_sample_sequence_number
 Sequence number of the last available sample in a matched Datawriter's reliability queue. More...
 
SequenceNumber_t last_committed_sample_sequence_number
 Sequence number of the newest sample received from the matched DataWriter committed to the DataReader's queue. More...
 
int uncommitted_sample_count
 Number of received samples that are not yet available to be read or taken, due to being received out of order. More...
 
long out_of_range_rejected_sample_count
 The number of samples dropped by the DataReader due to received window is full and the sample is out-of-order. More...
 
long received_fragment_count
 The number of DATA_FRAG messages that have been received by this DataReader. More...
 
long dropped_fragment_count
 The number of DATA_FRAG messages that have been dropped by a DataReader. More...
 
long reassembled_sample_count
 The number of fragmented samples that have been reassembled by a DataReader. More...
 
long sent_nack_fragment_count
 The number of NACK fragments that have been sent from a DataReader to a DataWriter. More...
 
long sent_nack_fragment_bytes
 The number of NACK fragment bytes that have been sent from a DataReader to a DataWriter. More...
 

Detailed Description

<<extension>> The status of a reader's internal protocol related metrics, like the number of samples received, filtered, rejected; and status of wire protocol traffic.

Entity:
com.rti.dds.subscription.DataReader

Member Data Documentation

◆ received_sample_count

long received_sample_count

The number of samples received by a DataReader.

Depending on how the com.rti.dds.subscription.DataReaderProtocolStatus was obtained this may count samples coming from a specific DataWriter or from all the DataWriters that are matched with the DataReader.

If the com.rti.dds.subscription.DataReaderProtocolStatus is obtained using the com.rti.dds.subscription.DataReader.get_datareader_protocol_status operation then it will count samples from any DataWriter. If the DataReaderProtocolStatus is obtained using the com.rti.dds.subscription.DataReader.get_matched_publication_datareader_protocol_status then it will count the samples for the DataWriter specified as a parameter to the function.

Duplicate samples arriving from the DataWriter(s) (e.g. via multiple network paths) are detected prior to increasing this counter. The duplicate samples are counted by com.rti.dds.subscription.DataReaderProtocolStatus.duplicate_sample_count.

If the DataReader has specified a ContentFilter the received samples that do not pass the filter are part of this counter. The filtered samples are counted by com.rti.dds.subscription.DataReaderProtocolStatus.filtered_sample_count.

Samples rejected because they do not fit on the DataReader Queue are also part of this counter.

Note the received_sample_count counts samples received from all DataWriters and it does not necessarily match the number of samples accepted into the DataReader Queue. This is because:

  • Samples can also be inserted into the DataReader Queue by lifecycle events that are locally detected like an instance becoming not alive as a result of DataWriters leaving the network.
  • Samples can be filtered out due to ContentFilter or TimeFilter
  • Samples can be rejected because there is no space in DataReader Queue

Note that when data is fragmented, this statistic is updated when all of the fragments required to reassemble a sample are received, not when individual fragments are received.

◆ received_sample_count_change

long received_sample_count_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_sample_count since the last time the status was read.

See also
com.rti.dds.subscription.DataReaderProtocolStatus.received_sample_count

Note that when data is fragmented, this statistic is updated when all of the fragments required to reassemble a sample are received, not when individual fragments are received.

◆ received_sample_bytes

long received_sample_bytes

The number of bytes received by a DataReader.

See also
com.rti.dds.subscription.DataReaderProtocolStatus.received_sample_count

Note that when data is fragmented, this statistic is updated upon the receipt of each fragment, not when a sample is reassembled.

◆ received_sample_bytes_change

long received_sample_bytes_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_sample_bytes since the last time the status was read.

See also
com.rti.dds.subscription.DataReaderProtocolStatus.received_sample_count_change

Note that when data is fragmented, this statistic is updated upon the receipt of each fragment, not when a sample is reassembled.

◆ duplicate_sample_count

long duplicate_sample_count

The number of samples from a remote DataWriter received, not for the first time, by a local DataReader.

Such samples can be redundant, out-of-order, etc. and are not stored in the reader's queue.

◆ duplicate_sample_count_change

long duplicate_sample_count_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.duplicate_sample_count since the last time the status was read.

Such samples can be redundant, out-of-order, etc. and are not stored in the reader's queue.

◆ duplicate_sample_bytes

long duplicate_sample_bytes

The number of bytes of samples from a remote DataWriter received, not for the first time, by a local DataReader.

Such samples can be redundant, out-of-order, etc. and are not stored in the reader's queue.

◆ duplicate_sample_bytes_change

long duplicate_sample_bytes_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.duplicate_sample_bytes since the last time the status was read.

Such samples can be redundant, out-of-order, etc. and are not stored in the reader's queue.

◆ filtered_sample_count

◆ filtered_sample_count_change

◆ filtered_sample_bytes

◆ filtered_sample_bytes_change

◆ received_heartbeat_count

long received_heartbeat_count

The number of Heartbeats from a remote DataWriter received by a local DataReader.

◆ received_heartbeat_count_change

long received_heartbeat_count_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_heartbeat_count since the last time the status was read.

◆ received_heartbeat_bytes

long received_heartbeat_bytes

The number of bytes of Heartbeats from a remote DataWriter received by a local DataReader.

◆ received_heartbeat_bytes_change

long received_heartbeat_bytes_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_heartbeat_bytes since the last time the status was read.

◆ sent_ack_count

long sent_ack_count

The number of ACKs sent from a local DataReader to a matching remote DataWriter.

◆ sent_ack_count_change

long sent_ack_count_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.sent_ack_count since the last time the status was read.

◆ sent_ack_bytes

long sent_ack_bytes

The number of bytes of ACKs sent from a local DataReader to a matching remote DataWriter.

◆ sent_ack_bytes_change

long sent_ack_bytes_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.sent_ack_bytes since the last time the status was read.

◆ sent_nack_count

long sent_nack_count

The number of NACKs sent from a local DataReader to a matching remote DataWriter.

◆ sent_nack_count_change

long sent_nack_count_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.sent_nack_count since the last time the status was read.

◆ sent_nack_bytes

long sent_nack_bytes

The number of bytes of NACKs sent from a local DataReader to a matching remote DataWriter.

◆ sent_nack_bytes_change

long sent_nack_bytes_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.sent_nack_bytes since the last time the status was read.

◆ received_gap_count

long received_gap_count

The number of GAPs received from remote DataWriter to this DataReader.

◆ received_gap_count_change

long received_gap_count_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_gap_count since the last time the status was read.

◆ received_gap_bytes

long received_gap_bytes

The number of bytes of GAPs received from remote DataWriter to this DataReader.

◆ received_gap_bytes_change

long received_gap_bytes_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.received_gap_bytes since the last time the status was read.

◆ rejected_sample_count

long rejected_sample_count

The number of times a sample is rejected because it cannot be accepted by a reliable DataReader.

Samples rejected by a reliable DataReader will be NACKed, and they will have to be resent by the DataWriter if they are still available in the DataWriter queue.

This counter will always be 0 when using com.rti.dds.infrastructure.ReliabilityQosPolicyKind.BEST_EFFORT_RELIABILITY_QOS.

◆ rejected_sample_count_change

long rejected_sample_count_change

The change in com.rti.dds.subscription.DataReaderProtocolStatus.rejected_sample_count since the last time the status was read.

This counter will always be 0 when using com.rti.dds.infrastructure.ReliabilityQosPolicyKind.BEST_EFFORT_RELIABILITY_QOS.

◆ first_available_sample_sequence_number

SequenceNumber_t first_available_sample_sequence_number

Sequence number of the first available sample in a matched DataWriters reliability queue.

Applicable only for reliable DataReaders, and when retrieving matched DataWriter statuses.

Updated upon receiving Heartbeat submessages from a matched reliable DataWriter.

◆ last_available_sample_sequence_number

SequenceNumber_t last_available_sample_sequence_number

Sequence number of the last available sample in a matched Datawriter's reliability queue.

Applicable only for reliable DataReaders, and when retrieving matched DataWriter statuses.

Updated upon receiving Heartbeat submessages from a matched reliable DataWriter.

◆ last_committed_sample_sequence_number

SequenceNumber_t last_committed_sample_sequence_number

Sequence number of the newest sample received from the matched DataWriter committed to the DataReader's queue.

Applicable only when retrieving matched DataWriter statuses.

For best-effort DataReaders, this is the sequence number of the latest sample received.

For reliable DataReaders, this is the sequence number of the latest sample that is available to be read or taken from the DataReader's queue.

◆ uncommitted_sample_count

int uncommitted_sample_count

Number of received samples that are not yet available to be read or taken, due to being received out of order.

Applicable only when retrieving matched DataWriter statuses.

◆ out_of_range_rejected_sample_count

long out_of_range_rejected_sample_count

The number of samples dropped by the DataReader due to received window is full and the sample is out-of-order.

When using com.rti.dds.infrastructure.ReliabilityQosPolicyKind.RELIABLE_RELIABILITY_QOS; if the DataReader received samples out-of-order, they are stored internally until the missing samples are received. The number of out-of-order samples that the DataReader can keep is set by com.rti.dds.infrastructure.RtpsReliableReaderProtocol_t.receive_window_size. When the received window is full any out-of-order sample received will be dropped.

◆ received_fragment_count

long received_fragment_count

The number of DATA_FRAG messages that have been received by this DataReader.

This statistic is incremented upon the receipt of each DATA_FRAG message. Fragments from duplicate samples do not count towards this statistic. Applicable only when data is fragmented.

◆ dropped_fragment_count

long dropped_fragment_count

The number of DATA_FRAG messages that have been dropped by a DataReader.

This statistic does not include malformed fragments. Applicable only when data is fragmented.

◆ reassembled_sample_count

long reassembled_sample_count

The number of fragmented samples that have been reassembled by a DataReader.

This statistic is incremented when all of the fragments which are required to reassemble an entire sample have been received. Applicable only when data is fragmented.

◆ sent_nack_fragment_count

long sent_nack_fragment_count

The number of NACK fragments that have been sent from a DataReader to a DataWriter.

NACK FRAG RTPS messages are sent when large data is used in conjunction with reliable communication. They have the same properties as NACK messages, but instead of applying to samples, they apply to fragments. Applicable only when data is fragmented.

◆ sent_nack_fragment_bytes

long sent_nack_fragment_bytes

The number of NACK fragment bytes that have been sent from a DataReader to a DataWriter.

NACK FRAG RTPS messages are sent when large data is used in conjunction with reliable communication. They have the same properties as NACK messages, but instead of applying to samples, they apply to fragments. Applicable only when data is fragmented.