Mercurial > pidgin
diff src/oscar.c @ 1288:d8eaf65ca9c3
[gaim-migrate @ 1298]
libfaim changes, clean up warn dialog
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Fri, 15 Dec 2000 13:04:55 +0000 |
parents | 07f0bb41bbe1 |
children | 4c5c2fcb83cd |
line wrap: on
line diff
--- a/src/oscar.c Fri Dec 15 02:31:36 2000 +0000 +++ b/src/oscar.c Fri Dec 15 13:04:55 2000 +0000 @@ -1512,14 +1512,47 @@ } int gaim_parse_ratechange(struct aim_session_t *sess, struct command_rx_struct *command, ...) { + static char *codes[5] = {"invalid", + "change", + "warning", + "limit", + "limit cleared"}; va_list ap; - unsigned long newrate; + int code; + unsigned long parmid, windowsize, clear, alert, limit, disconnect; + unsigned long currentavg, maxavg; va_start(ap, command); - newrate = va_arg(ap, unsigned long); + code = va_arg(ap, int); + parmid = va_arg(ap, int); + windowsize = va_arg(ap, unsigned long); + clear = va_arg(ap, unsigned long); + alert = va_arg(ap, unsigned long); + limit = va_arg(ap, unsigned long); + disconnect = va_arg(ap, unsigned long); + currentavg = va_arg(ap, unsigned long); + maxavg = va_arg(ap, unsigned long); va_end(ap); - debug_printf("ratechange: %lu\n", newrate); + debug_printf("rate %s (paramid 0x%04lx): curavg = %ld, maxavg = %ld, alert at %ld, " + "clear warning at %ld, limit at %ld, disconnect at %ld (window size = %ld)\n", + (code < 5) ? codes[code] : codes[0], + parmid, + currentavg, maxavg, + alert, clear, + limit, disconnect, + windowsize); + + if (code == AIM_RATE_CODE_CHANGE) { + if (currentavg >= clear) + aim_conn_setlatency(command->conn, 0); + } else if (code == AIM_RATE_CODE_WARNING) { + aim_conn_setlatency(command->conn, windowsize/4); + } else if (code == AIM_RATE_CODE_LIMIT) { + aim_conn_setlatency(command->conn, windowsize/2); + } else if (code == AIM_RATE_CODE_CLEARLIMIT) { + aim_conn_setlatency(command->conn, 0); + } return 1; }