RTI Connext C API Version 7.3.0
DDS_DataWriterProtocolStatus Struct Reference

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

Data Fields

DDS_LongLong pushed_sample_count
 The number of user samples pushed on write from a local DataWriter to a matching remote DataReader. More...
 
DDS_LongLong pushed_sample_count_change
 The change in DDS_DataWriterProtocolStatus::pushed_sample_count since the last time the status was read. More...
 
DDS_LongLong pushed_sample_bytes
 The number of bytes of user samples pushed on write from a local DataWriter to a matching remote DataReader. More...
 
DDS_LongLong pushed_sample_bytes_change
 The change in DDS_DataWriterProtocolStatus::pushed_sample_bytes since the last time the status was read. More...
 
DDS_LongLong filtered_sample_count
 [Not supported.] The number of user samples preemptively filtered by a local DataWriter due to Content-Filtered Topics. More...
 
DDS_LongLong filtered_sample_count_change
 [Not supported.] The incremental change in the number of user samples preemptively filtered by a local DataWriter due to Content-Filtered Topics since the last time the status was read. More...
 
DDS_LongLong filtered_sample_bytes
 [Not supported.] The number of bytes of user samples preemptively filtered by a local DataWriter due to Content-Filtered Topics. More...
 
DDS_LongLong filtered_sample_bytes_change
 [Not supported.] The incremental change in the number of bytes of user samples preemptively filtered by a local DataWriter due to Content-Filtered Topics since the last time the status was read. More...
 
DDS_LongLong sent_heartbeat_count
 The number of Heartbeats sent between a local DataWriter and matching remote DataReader. More...
 
DDS_LongLong sent_heartbeat_count_change
 The change in DDS_DataWriterProtocolStatus::sent_heartbeat_count since the last time the status was read. More...
 
DDS_LongLong sent_heartbeat_bytes
 The number of bytes of Heartbeats sent between a local DataWriter and matching remote DataReader. More...
 
DDS_LongLong sent_heartbeat_bytes_change
 The change in DDS_DataWriterProtocolStatus::sent_heartbeat_bytes since the last time the status was read. More...
 
DDS_LongLong pulled_sample_count
 The number of user samples pulled from local DataWriter by matching DataReaders. More...
 
DDS_LongLong pulled_sample_count_change
 The change in DDS_DataWriterProtocolStatus::pulled_sample_count since the last time the status was read. More...
 
DDS_LongLong pulled_sample_bytes
 The number of bytes of user samples pulled from local DataWriter by matching DataReaders. More...
 
DDS_LongLong pulled_sample_bytes_change
 The change in DDS_DataWriterProtocolStatus::pulled_sample_bytes since the last time the status was read. More...
 
DDS_LongLong received_ack_count
 The number of ACKs from a remote DataReader received by a local DataWriter. More...
 
DDS_LongLong received_ack_count_change
 The change in DDS_DataWriterProtocolStatus::received_ack_count since the last time the status was read. More...
 
DDS_LongLong received_ack_bytes
 The number of bytes of ACKs from a remote DataReader received by a local DataWriter. More...
 
DDS_LongLong received_ack_bytes_change
 The change in DDS_DataWriterProtocolStatus::received_ack_bytes since the last time the status was read. More...
 
DDS_LongLong received_nack_count
 The number of NACKs from a remote DataReader received by a local DataWriter. More...
 
DDS_LongLong received_nack_count_change
 The change in DDS_DataWriterProtocolStatus::received_nack_count since the last time the status was read. More...
 
DDS_LongLong received_nack_bytes
 The number of bytes of NACKs from a remote DataReader received by a local DataWriter. More...
 
DDS_LongLong received_nack_bytes_change
 The change in DDS_DataWriterProtocolStatus::received_nack_bytes since the last time the status was read. More...
 
DDS_LongLong sent_gap_count
 The number of GAPs sent from local DataWriter to matching remote DataReaders. More...
 
DDS_LongLong sent_gap_count_change
 The change in DDS_DataWriterProtocolStatus::sent_gap_count since the last time the status was read. More...
 
DDS_LongLong sent_gap_bytes
 The number of bytes of GAPs sent from local DataWriter to matching remote DataReaders. More...
 
DDS_LongLong sent_gap_bytes_change
 The change in DDS_DataWriterProtocolStatus::sent_gap_bytes since the last time the status was read. More...
 
DDS_LongLong rejected_sample_count
 [Not supported.] More...
 
DDS_LongLong rejected_sample_count_change
 [Not supported.] More...
 
DDS_Long send_window_size
 Current maximum number of outstanding samples allowed in the DataWriter's queue. More...
 
struct DDS_SequenceNumber_t first_available_sample_sequence_number
 The sequence number of the first available sample currently queued in the local DataWriter. More...
 
struct DDS_SequenceNumber_t last_available_sample_sequence_number
 The sequence number of the last available sample currently queued in the local DataWriter. More...
 
struct DDS_SequenceNumber_t first_unacknowledged_sample_sequence_number
 The sequence number of the first unacknowledged sample currently queued in the local DataWriter. More...
 
struct DDS_SequenceNumber_t first_available_sample_virtual_sequence_number
 The virtual sequence number of the first available sample currently queued in the local DataWriter. More...
 
struct DDS_SequenceNumber_t last_available_sample_virtual_sequence_number
 The virtual sequence number of the last available sample currently queued in the local DataWriter. More...
 
struct DDS_SequenceNumber_t first_unacknowledged_sample_virtual_sequence_number
 The virtual sequence number of the first unacknowledged sample currently queued in the local DataWriter. More...
 
DDS_InstanceHandle_t first_unacknowledged_sample_subscription_handle
 The handle of a remote DataReader that has not acknowledged the first unacknowledged sample of the local DataWriter. More...
 
struct DDS_SequenceNumber_t first_unelapsed_keep_duration_sample_sequence_number
 The sequence number of the first sample whose keep duration has not yet elapsed. More...
 
DDS_LongLong pushed_fragment_count
 The number of DATA_FRAG messages that have been pushed by this DataWriter. More...
 
DDS_LongLong pushed_fragment_bytes
 The number of bytes of DATA_FRAG messages that have been pushed by this DataWriter. More...
 
DDS_LongLong pulled_fragment_count
 The number of DATA_FRAG messages that have been pulled from this DataWriter. More...
 
DDS_LongLong pulled_fragment_bytes
 The number of bytes of DATA_FRAG messages that have been pulled from this DataWriter. More...
 
DDS_LongLong received_nack_fragment_count
 The number of NACK_FRAG messages that have been received by this DataWriter. More...
 
DDS_LongLong received_nack_fragment_bytes
 The number of bytes of NACK_FRAG messages that have been received by this DataWriter. More...
 

Detailed Description

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

Entity:
DDS_DataWriter

Field Documentation

◆ pushed_sample_count

DDS_LongLong DDS_DataWriterProtocolStatus::pushed_sample_count

The number of user samples pushed on write from a local DataWriter to a matching remote DataReader.

Counts protocol (RTPS) messages pushed by a DataWriter when writing, unregistering, and disposing. The count is the number of sends done internally, and it may be greater than the number of user writes.

For large data, counts whole samples, not fragments. The fragment count is tracked in the DDS_DataWriterProtocolStatus::pushed_fragment_count statistic.

◆ pushed_sample_count_change

DDS_LongLong DDS_DataWriterProtocolStatus::pushed_sample_count_change

The change in DDS_DataWriterProtocolStatus::pushed_sample_count since the last time the status was read.

Counts protocol (RTPS) messages pushed by a DataWriter when writing, unregistering, and disposing.

For large data, counts whole samples, not fragments.

◆ pushed_sample_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::pushed_sample_bytes

The number of bytes of user samples pushed on write from a local DataWriter to a matching remote DataReader.

Counts bytes of protocol (RTPS) messages pushed by a DataWriter when writing, unregistering, and disposing. The count of bytes corresponds to the number of sends done internally, and it may be greater than the number of user writes.

When data fragmentation is used, this statistic is incremented as fragments are written.

◆ pushed_sample_bytes_change

DDS_LongLong DDS_DataWriterProtocolStatus::pushed_sample_bytes_change

The change in DDS_DataWriterProtocolStatus::pushed_sample_bytes since the last time the status was read.

Counts bytes of protocol (RTPS) messages pushed by a DataWriter when writing, unregistering, and disposing.

When data fragmentation is used, this statistic is incremented as fragments are written.

◆ filtered_sample_count

DDS_LongLong DDS_DataWriterProtocolStatus::filtered_sample_count

[Not supported.] The number of user samples preemptively filtered by a local DataWriter due to Content-Filtered Topics.

◆ filtered_sample_count_change

DDS_LongLong DDS_DataWriterProtocolStatus::filtered_sample_count_change

[Not supported.] The incremental change in the number of user samples preemptively filtered by a local DataWriter due to Content-Filtered Topics since the last time the status was read.

◆ filtered_sample_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::filtered_sample_bytes

[Not supported.] The number of bytes of user samples preemptively filtered by a local DataWriter due to Content-Filtered Topics.

◆ filtered_sample_bytes_change

DDS_LongLong DDS_DataWriterProtocolStatus::filtered_sample_bytes_change

[Not supported.] The incremental change in the number of bytes of user samples preemptively filtered by a local DataWriter due to Content-Filtered Topics since the last time the status was read.

◆ sent_heartbeat_count

DDS_LongLong DDS_DataWriterProtocolStatus::sent_heartbeat_count

The number of Heartbeats sent between a local DataWriter and matching remote DataReader.

Because periodic and piggyback heartbeats are sent to remote readers and their locators differently in different situations, when a reader has more than one locator, this count may be larger than expected, to reflect the sending of Heartbeats to the multiple locators.

◆ sent_heartbeat_count_change

DDS_LongLong DDS_DataWriterProtocolStatus::sent_heartbeat_count_change

The change in DDS_DataWriterProtocolStatus::sent_heartbeat_count since the last time the status was read.

◆ sent_heartbeat_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::sent_heartbeat_bytes

The number of bytes of Heartbeats sent between a local DataWriter and matching remote DataReader.

Because periodic and piggyback heartbeats are sent to remote readers and their locators differently in different situations, when a reader has more than one locator, this count may be larger than expected, to reflect the sending of Heartbeats to the multiple locators.

◆ sent_heartbeat_bytes_change

DDS_LongLong DDS_DataWriterProtocolStatus::sent_heartbeat_bytes_change

The change in DDS_DataWriterProtocolStatus::sent_heartbeat_bytes since the last time the status was read.

◆ pulled_sample_count

DDS_LongLong DDS_DataWriterProtocolStatus::pulled_sample_count

The number of user samples pulled from local DataWriter by matching DataReaders.

Pulled samples are samples sent for repairs, for late joiners, and all samples sent by the local DataWriter when DDS_DataWriterProtocolQosPolicy::push_on_write is DDS_BOOLEAN_FALSE.

When data fragmentation is used, this statistic is incremented as fragments are written.

◆ pulled_sample_count_change

DDS_LongLong DDS_DataWriterProtocolStatus::pulled_sample_count_change

The change in DDS_DataWriterProtocolStatus::pulled_sample_count since the last time the status was read.

Pulled samples are samples sent for repairs, for late joiners, and all samples sent by the local DataWriter when DDS_DataWriterProtocolQosPolicy::push_on_write is DDS_BOOLEAN_FALSE.

For large data, counts whole samples, not fragments.

◆ pulled_sample_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::pulled_sample_bytes

The number of bytes of user samples pulled from local DataWriter by matching DataReaders.

Pulled samples are samples sent for repairs, for late joiners, and all samples sent by the local DataWriter when DDS_DataWriterProtocolQosPolicy::push_on_write is DDS_BOOLEAN_FALSE.

When data fragmentation is used, this statistic is incremented as fragments are written.

◆ pulled_sample_bytes_change

DDS_LongLong DDS_DataWriterProtocolStatus::pulled_sample_bytes_change

The change in DDS_DataWriterProtocolStatus::pulled_sample_bytes since the last time the status was read.

Pulled samples are samples sent for repairs, for late joiners, and all samples sent by the local DataWriter when DDS_DataWriterProtocolQosPolicy::push_on_write is DDS_BOOLEAN_FALSE.

For large data, counts bytes of whole samples, not fragments.

◆ received_ack_count

DDS_LongLong DDS_DataWriterProtocolStatus::received_ack_count

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

◆ received_ack_count_change

DDS_LongLong DDS_DataWriterProtocolStatus::received_ack_count_change

The change in DDS_DataWriterProtocolStatus::received_ack_count since the last time the status was read.

◆ received_ack_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::received_ack_bytes

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

◆ received_ack_bytes_change

DDS_LongLong DDS_DataWriterProtocolStatus::received_ack_bytes_change

The change in DDS_DataWriterProtocolStatus::received_ack_bytes since the last time the status was read.

◆ received_nack_count

DDS_LongLong DDS_DataWriterProtocolStatus::received_nack_count

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

◆ received_nack_count_change

DDS_LongLong DDS_DataWriterProtocolStatus::received_nack_count_change

The change in DDS_DataWriterProtocolStatus::received_nack_count since the last time the status was read.

◆ received_nack_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::received_nack_bytes

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

◆ received_nack_bytes_change

DDS_LongLong DDS_DataWriterProtocolStatus::received_nack_bytes_change

The change in DDS_DataWriterProtocolStatus::received_nack_bytes since the last time the status was read.

◆ sent_gap_count

DDS_LongLong DDS_DataWriterProtocolStatus::sent_gap_count

The number of GAPs sent from local DataWriter to matching remote DataReaders.

◆ sent_gap_count_change

DDS_LongLong DDS_DataWriterProtocolStatus::sent_gap_count_change

The change in DDS_DataWriterProtocolStatus::sent_gap_count since the last time the status was read.

◆ sent_gap_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::sent_gap_bytes

The number of bytes of GAPs sent from local DataWriter to matching remote DataReaders.

◆ sent_gap_bytes_change

DDS_LongLong DDS_DataWriterProtocolStatus::sent_gap_bytes_change

The change in DDS_DataWriterProtocolStatus::sent_gap_bytes since the last time the status was read.

◆ rejected_sample_count

DDS_LongLong DDS_DataWriterProtocolStatus::rejected_sample_count

[Not supported.]

◆ rejected_sample_count_change

DDS_LongLong DDS_DataWriterProtocolStatus::rejected_sample_count_change

[Not supported.]

◆ send_window_size

DDS_Long DDS_DataWriterProtocolStatus::send_window_size

Current maximum number of outstanding samples allowed in the DataWriter's queue.

Spans the range from DDS_RtpsReliableWriterProtocol_t::min_send_window_size to DDS_RtpsReliableWriterProtocol_t::max_send_window_size.

◆ first_available_sample_sequence_number

struct DDS_SequenceNumber_t DDS_DataWriterProtocolStatus::first_available_sample_sequence_number

The sequence number of the first available sample currently queued in the local DataWriter.

Applies only for local DataWriter status.

◆ last_available_sample_sequence_number

struct DDS_SequenceNumber_t DDS_DataWriterProtocolStatus::last_available_sample_sequence_number

The sequence number of the last available sample currently queued in the local DataWriter.

Applies only for local DataWriter status.

◆ first_unacknowledged_sample_sequence_number

struct DDS_SequenceNumber_t DDS_DataWriterProtocolStatus::first_unacknowledged_sample_sequence_number

The sequence number of the first unacknowledged sample currently queued in the local DataWriter.

Applies only for local DataWriter status.

◆ first_available_sample_virtual_sequence_number

struct DDS_SequenceNumber_t DDS_DataWriterProtocolStatus::first_available_sample_virtual_sequence_number

The virtual sequence number of the first available sample currently queued in the local DataWriter.

Applies only for local DataWriter status.

◆ last_available_sample_virtual_sequence_number

struct DDS_SequenceNumber_t DDS_DataWriterProtocolStatus::last_available_sample_virtual_sequence_number

The virtual sequence number of the last available sample currently queued in the local DataWriter.

Applies only for local DataWriter status.

◆ first_unacknowledged_sample_virtual_sequence_number

struct DDS_SequenceNumber_t DDS_DataWriterProtocolStatus::first_unacknowledged_sample_virtual_sequence_number

The virtual sequence number of the first unacknowledged sample currently queued in the local DataWriter.

Applies only for local DataWriter status.

◆ first_unacknowledged_sample_subscription_handle

DDS_InstanceHandle_t DDS_DataWriterProtocolStatus::first_unacknowledged_sample_subscription_handle

The handle of a remote DataReader that has not acknowledged the first unacknowledged sample of the local DataWriter.

Applies only for local DataWriter status.

◆ first_unelapsed_keep_duration_sample_sequence_number

struct DDS_SequenceNumber_t DDS_DataWriterProtocolStatus::first_unelapsed_keep_duration_sample_sequence_number

The sequence number of the first sample whose keep duration has not yet elapsed.

Applicable only when DDS_DataWriterProtocolQosPolicy::disable_positive_acks is set.

Sequence number of the first sample kept in the DataWriter's queue whose keep_duration (applied when DDS_DataWriterProtocolQosPolicy::disable_positive_acks is set) has not yet elapsed.

Applies only for local DataWriter status.

◆ pushed_fragment_count

DDS_LongLong DDS_DataWriterProtocolStatus::pushed_fragment_count

The number of DATA_FRAG messages that have been pushed by this DataWriter.

This statistic is incremented as each DATA_FRAG message is sent, not when the entire sample has been sent. Applicable only when data is fragmented.

◆ pushed_fragment_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::pushed_fragment_bytes

The number of bytes of DATA_FRAG messages that have been pushed by this DataWriter.

This statistic is incremented as each DATA_FRAG message is sent, not when the entire sample has been sent. Applicable only when data is fragmented.

◆ pulled_fragment_count

DDS_LongLong DDS_DataWriterProtocolStatus::pulled_fragment_count

The number of DATA_FRAG messages that have been pulled from this DataWriter.

This statistic is incremented as each DATA_FRAG message is sent, not when the entire sample has been sent. Applicable only when data is fragmented.

◆ pulled_fragment_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::pulled_fragment_bytes

The number of bytes of DATA_FRAG messages that have been pulled from this DataWriter.

This statistic is incremented as each DATA_FRAG message is sent, not when the entire sample has been sent. Applicable only when data is fragmented.

◆ received_nack_fragment_count

DDS_LongLong DDS_DataWriterProtocolStatus::received_nack_fragment_count

The number of NACK_FRAG messages that have been received by this 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.

◆ received_nack_fragment_bytes

DDS_LongLong DDS_DataWriterProtocolStatus::received_nack_fragment_bytes

The number of bytes of NACK_FRAG messages that have been received by this 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.