File tree Expand file tree Collapse file tree
src/cpp/fastdds/publisher Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -338,6 +338,20 @@ ReturnCode_t DataWriterImpl::enable()
338338 datasharing.add_domain_id (utils::default_domain_id ());
339339 }
340340 w_att.endpoint .set_data_sharing_configuration (datasharing);
341+
342+ // Update pool config for KEEP_ALL when max_samples is infinite
343+ if ((0 == pool_config_.maximum_size ) && (KEEP_ALL_HISTORY_QOS == qos_.history ().kind ))
344+ {
345+ // Override infinite with old default value for max_samples + extra samples
346+ pool_config_.maximum_size = 5000 ;
347+ if (0 < qos_.resource_limits ().extra_samples )
348+ {
349+ pool_config_.maximum_size += static_cast <uint32_t >(qos_.resource_limits ().extra_samples );
350+ }
351+ EPROSIMA_LOG_ERROR (DATA_WRITER,
352+ " DataWriter with KEEP_ALL history and infinite max_samples is not compatible with DataSharing. "
353+ " Setting max_samples to " << pool_config_.maximum_size );
354+ }
341355 }
342356 else
343357 {
You can’t perform that action at this time.
0 commit comments