-
Notifications
You must be signed in to change notification settings - Fork 856
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[core] check timestamp carryover for keepalive packets #1895
Conversation
Good catch! |
So we should also |
No, this won't help. The problem of keepalive packets is that it's one direction only and unreliable as well, while in order to update the drift you need to have some request-response cycle. I think that it might be needed that in the situation of stopped transmission and sending keepalives the transmission start time shall be reset to 0 and set again only at the first received packet. This time always serves as a time pattern of the expected arrival time, so such a time reset shall restore time conditions to "zero drift" again. The problem might be though that this method need not be reliable, and of course, this must be also treated exceptionally differently for backup groups. |
My fix will cause the "No room" issue... |
Do you mean that the fix you've provided does not help in your use case? The "no room to store.." will likely be caused by clock drift, accumulated while the link is idle. |
It should help, but with this fix, srt report "No room..." frequently
so I have disabled the drift tracer long time ago
Thanks! |
Anyway, I have workaround this issue with a hack: |
If client keepalive for more then 1h10m, then server will not know the timestamp has been carryover.