Threading Model | Table of Content | Maintenance Window |
Packet Gap |
This section provides information about best practices to handle packet gaps.
Multicast is not a reliable way to transfer data over the network, and sometimes packets are lost. This situation is known as a packet gap, and different reasons cause it.
The first thing to check when a packet gap happens is the network. Many configuration aspects can be related to missing or dropped packets, so better to check with NetOps Team if missing packets reach the destination host. Please also see Lost multicast packets troubleshooting guide for more details.
If the network is not an issue, then application-level packet loss is the next thing to check. It includes running the Multicast Test program together with the Handler to check if the same packets were received by Multicast Test but not received by the Handler.
One needs to compare the Multicast Test and the Benchmark sample applications. The Benchmark sample is already optimized to receive data in the fast possible way. In case multicast packets are received by the Multicast Test and not received by the Handler, you need to report an issue to OnixS Support and attach all the details including output from the Multicast Test and the Handler's logs.
If both Multicast Test and the Handler show no packet loss, but the user application still shows the packet loss, then you need to check the code inside the Handler events handlers. Try to disable all the code inside of your event handlers and run your application together with Multicast Test.
If you see that the packet gap is no longer happening, you can start adding back your code event by event to see when it starts happening. The user application needs to handle the Handler's events and do it quickly or asynchronously. You may also want to review Low Latency Best Practices.
If nothing helps and you still see the packet gap, please collect the Handler's logs and the output from the Multicast Test program and report an issue with Support.