Hi Yaniv, I've never seen the problem you mention, though it may have been overlooked, after all, it's not a frequent (and in any case transient) condition.
If there is a bug, it may be hidden in the sequence number wrapping detection code _or_ (this is a suspicion after a fast skim of the code) in the way getWaiting() retrieves packets from the incoming queue. Regarding the non-atomicity of getFirstTimestamp--getData, it may lead to some getData calls returning NULL somewhat unexpectedly (if the packet is removed from the queue between these two operations), but no error should happen. In general, calling getData with a timestamp retrieved from getFirstTimestamp does not have a 100% guarantee of actually getting the ADU (depending on timing issues). In order to guess why some packets are discarded, there is an easy check you can do. If packets are being "expired" from the incoming queue when a sequence wrap occurs, you can find it out by rewriting the onExpireRecv virtual method. _______________________________________________ Ccrtp-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/ccrtp-devel
