Hi
I have an application where I am trying to enable batch mode.
The application will update 1000 topics where each has a size of 28 bytes very quickly after each other. When I run the application without batch this is working as expected my subscriber receives all 1000 updates. When I enable batch mode the updates seem to disappear. There is no error when I write the sample. I use default QoS setting in the code except for the datawriter and datareader.
DDS_DataWriterQos clWriterQos; DDS_DataReaderQos clReaderQos; |
I have tried several USER_QOS_PROFILES.xml settings and I tried with the settings from high_throughput.xml. For all of them if I change <enable>true</enable> to <enable>false</enable> in the <batch> section it works fine. I also get some updates thru if I send many updates on each topic but I only want to send two.
When I subscribe the topics in the "RTI Administration console" I can not see the updates either. So I guess its a publisher setting that I am missing or somthing.
Can you point me on some direction to look for errors ?
Thanks.
Hi
After some digging I found that it was becuse I had not set <max_flush_delay>. I guess that because I was never filling up the max_data_bytes it never got send.
Hi Kennet,
Yes, you are right. By default the value for the max_flush_delay is DDS_DURATION_INFINITE.
You can also look at configuring the DDS_BatchQosPolicy::max_samples parameter.