Allow servers to send more commands in the first 10 secods

This helps to speed up server login and network synchronisation.
This commit is contained in:
Alexander Barton 2011-03-21 09:42:01 +01:00
parent a39e2f22c9
commit 62f705f97e
1 changed files with 10 additions and 3 deletions

View File

@ -1629,18 +1629,25 @@ Handle_Buffer(CONN_ID Idx)
CLIENT *c;
c = Conn_GetClient(Idx);
assert( c != NULL);
starttime = time(NULL);
assert(c != NULL);
/* Servers do get special command limits, so they can process
* all the messages that are required while peering. */
switch (Client_Type(c)) {
case CLIENT_SERVER:
maxcmd = MAX_COMMANDS_SERVER; break;
/* Allow servers to send more commands in the first 10 secods
* to speed up server login and network synchronisation. */
if (starttime - Client_StartTime(c) < 10)
maxcmd = MAX_COMMANDS_SERVER * 5;
else
maxcmd = MAX_COMMANDS_SERVER;
break;
case CLIENT_SERVICE:
maxcmd = MAX_COMMANDS_SERVICE; break;
}
starttime = time(NULL);
for (i=0; i < maxcmd; i++) {
/* Check penalty */
if (My_Connections[Idx].delaytime > starttime)