Attempt to improve the /LIST timeout for large lists
authorMatt Schatz <genius3000@g3k.solutions>
Sun, 1 Jul 2018 05:16:03 +0000 (23:16 -0600)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 15 Jul 2018 22:15:39 +0000 (00:15 +0200)
commitfc26ee91d0e387007d656eb6e83a7a3a923f527a
tree2c4d551b62a8990deccef6d36caf72749c963c7c
parente9c0076ab1da4d613cf0ef97adbb1f45fed13d47
Attempt to improve the /LIST timeout for large lists

Prior to this, the timer was simply running for 10 seconds from the
start of the query; which could timeout even while data was being received.
Large channel lists (i.e. Freenode) would over-run into the status buffer.

Now we utilize QBasicTimer to create a timer that can be easily
restarted everytime we receive a RPL_LIST. Inital timeout is 5 seconds
and 5 seconds after each RPL_LIST. We also now remove the timer after
receiving a RPL_LISTEND instead of letting it tick.
src/core/coreirclisthelper.cpp
src/core/coreirclisthelper.h