41.4 Acknowledging DDS Samples

DDS samples can be acknowledged one at a time, or as a group.

To explicitly acknowledge a single DDS sample:

DDS_ReturnCode_t acknowledge_sample (
		const DDS_SampleInfo & sample_info);
DDS_ReturnCode_t acknowledge_sample (
		const DDS_SampleInfo & sample_info, 
		const DDS_AckResponseData_t & response_data);

Or you may acknowledge all previously accessed DDS samples by calling:

DDS_ReturnCode_t DDSDataReader::acknowledge_all ()
DDS_ReturnCode_t DDSDataReader::acknowledge_all (
		const DDS_AckResponseData_t & response_data)

Where:

sample_info

is of type DDS_SampleInfo, identifying the DDS sample being acknowledged

response_data

is response data sent to the DataWriter upon acknowledgment

These operations can only be used when the DataReader’s 47.21 RELIABILITY QosPolicy has an acknowledgment_kind set to DDS_APPLICATION_EXPLICIT_ACKNOWLEDGMENT_MODE. You must also set max_app_ack_response_length (in the 48.2 DATA_READER_RESOURCE_LIMITS QosPolicy (DDS Extension)) to a value greater than zero.

See also: 31.12 Application Acknowledgment and 33. Guaranteed Delivery of Data.