ddc85b24f9
When there is no data coming in from WSD, we slow down the frequency of invoking RichProxy. Supports recovering from errors and server restarts or document unloading (i.e. when the session is invalid). We don't invoke RichProxy more than 40 times a second (i.e. with 25ms interval) and we slow down when the last data was received 3x longer than the polling interval. The current decay rate is 15%. That is, we throttle to 1.15x the last interval. This brings us down from 25ms to 500ms in about 4 seconds, which is very reasonable. However, when we want to send data, or when we do receive any data, we immediately maximize the frequency so we can communicate as fast as possible and reduce the user-visible latency. Notice that when we get some data (without having sent anything recently) it implies activity from another user, so we do want to get their changes in real-time. This is why we reduce the polling frequency gradually, but increase it abruptly. The parameters of the algorithm are configurable directly in the code, but the current defaults are very reasonable. Change-Id: I0b9fd6db73caa35853fe6d8077bef66934de679c Reviewed-on: https://gerrit.libreoffice.org/c/online/+/94654 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com> |
||
---|---|---|
.. | ||
Autolinker.js | ||
global.js | ||
jquery.mCustomScrollbar.js | ||
json2.js | ||
l10n.js | ||
sanitize-url.js | ||
select2.js | ||
vex.combined.js | ||
w2ui-1.5.rc1.js |