Hi,
After writing up to 2000 instances (via a for loop at once) on a single writer, I start my subscriber which immediately begins to receive the instances. However, it only receives them in batches of about 100-200 instances. I verified that all the 2000 instances were written by doing a printf after the loop. My QOS Settings are as follows:
reliability kind = reliable reliability
reliability max blocking time = 60
max samples per instance = 1
max samples = 2000
max instances = 2000
history depth = 1
ownership kind = exclusive
history kind = keep last history
durability kind = persistent durability
durability direct communication = true
Thanks
Kuan Yong
Hi Kuan Yong,
Did you already solve the issue you had posted to the HOWTO regarding receiving just the last sample instead of the last sample per instance? I was replying to it but when I tried to post you had already deleted your posting... Assuming you resolved it, would you mind re-posting the question and then posting how you resolved it? I think your answer may be useful to other users...
With regards to the question in this thread. It is normal to receive historical samples in "batches" because RTI DDS uses some internal mechanisms to throttle the bandwith consumed sending the 'historical' samples to try to not overwhelm the late-joiner DataReader. After the DataReader has caught up to the whole history it should then receive samples continually as they are published. Is that not happening in your case?
Gerardo
Is there a way to tweak the bandwidth use settings? Will the monitoring or analysis tools be able to find out the amount of bandwidth being consumed?
Regarding my previous question in the HOWTO section, I have reposted it. I accidentally used the same instance handle to create the 2nd instance in my writer.
Kuan Yong
I have tried using adding deadline settings on the sender but it does not help. Any suggestions on how I can change the behavior to increase the rate at which the subscriber receives the samples more quickly?