DDS_DataReaderResourceLimitsQosPolicy::max_fragmented_samples limits the maximum number of fragmented samples a DDS_DataReader can cache while waiting for all fragments. A fragmented sample must be fully received before it can be deserialized. If this resource limit is reached, new fragmented samples will be rejected.
A default value equal to DDS_ResourceLimitsQosPolicy::max_samples will give the best results. However, if the data type is variable-sized where some samples may be fragmented and others not, this value can be set lower.