# HG changeset patch # User Eric Warmenhoven # Date 959549934 0 # Node ID 9e6fc62490cdfd31a4666730b0f9f1d1a5007197 # Parent f9eb3eb9ffdeeb2d4c783810a4797c45ce543246 [gaim-migrate @ 286] receive messages faster committer: Tailor Script diff -r f9eb3eb9ffde -r 9e6fc62490cd libfaim/CHANGES.gaim --- a/libfaim/CHANGES.gaim Sun May 28 17:16:39 2000 +0000 +++ b/libfaim/CHANGES.gaim Sun May 28 21:38:54 2000 +0000 @@ -1,3 +1,9 @@ + +Sun May 28 21:33:43 UTC 2000 EWarmenhoven + - Figured out how aim_set_latency works, and why I thought it wasn't + working before, and so now you can receive messages a lot faster, I + hope. + - Chat still isn't working, and I don't know why. Fri May 26 22:56:00 UTC 2000 EWarmenhoven - Adam explained to me everything I was doing wrong, ridiculed me a bit, diff -r f9eb3eb9ffde -r 9e6fc62490cd libfaim/README.gaim --- a/libfaim/README.gaim Sun May 28 17:16:39 2000 +0000 +++ b/libfaim/README.gaim Sun May 28 21:38:54 2000 +0000 @@ -52,10 +52,6 @@ KNOWN ISSUES ============ -- libfaim apparently has a problem with receiving messages too fast (sort of). -You can receive more messages in less time with TOC than with libfaim. It's not -completely libfaim's fault though. - - The permit/deny stuff is really funny. If I don't put it there, everything works great, if I do, it occasionally works, but not well. I've commented it out (again - I swear, this is the most on-again-off-again feature). diff -r f9eb3eb9ffde -r 9e6fc62490cd src/oscar.c --- a/src/oscar.c Sun May 28 17:16:39 2000 +0000 +++ b/src/oscar.c Sun May 28 21:38:54 2000 +0000 @@ -41,6 +41,7 @@ static int inpa = -1; struct aim_session_t *gaim_sess; struct aim_conn_t *gaim_conn; +int gaim_caps = AIM_CAPS_CHAT | AIM_CAPS_SENDFILE | AIM_CAPS_GETFILE; static int gaim_parse_auth_resp (struct aim_session_t *, struct command_rx_struct *, ...); static int gaim_auth_server_ready(struct aim_session_t *, struct command_rx_struct *, ...); @@ -254,6 +255,7 @@ int gaim_server_ready(struct aim_session_t *sess, struct command_rx_struct *command, ...) { + static int id = 1; switch (command->conn->type) { case AIM_CONN_TYPE_BOS: aim_bos_reqrate(sess, command->conn); @@ -279,6 +281,7 @@ aim_bos_reqrate(sess, command->conn); aim_bos_ackrateresp(sess, command->conn); aim_chat_clientready(sess, command->conn); + serv_got_joined_chat(id++, aim_chat_getname(command->conn)); break; default: /* huh? */ break; @@ -308,8 +311,10 @@ switch(serviceid) { case 0x0005: /* Ads */ aim_bos_setbuddylist(sess, command->conn, buddies); - aim_bos_setprofile(sess, command->conn, profile, - NULL, AIM_CAPS_CHAT); + aim_bos_setprofile(sess, command->conn, profile, NULL, + gaim_caps); + + aim_seticbmparam(sess, command->conn); aim_bos_clientready(sess, command->conn); @@ -341,6 +346,8 @@ if (bud_list_cache_exists()) do_import(NULL, 0); + aim_conn_setlatency(command->conn, 1); + break; case 0x7: /* Authorizer */ { @@ -366,7 +373,6 @@ case 0xe: /* Chat */ { struct aim_conn_t *tstconn = aim_newconn(sess, AIM_CONN_TYPE_CHAT, ip); - static int id = 1; char *roomname = va_arg(ap, char *); if (tstconn == NULL || tstconn->status >= AIM_CONN_STATUS_RESOLVERR) { debug_print("unable to connect to chat server\n"); @@ -375,7 +381,6 @@ aim_chat_attachname(tstconn, roomname); aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, gaim_server_ready, 0); aim_auth_sendcookie(sess, tstconn, cookie); - serv_got_joined_chat(id++, roomname); } break; default: /* huh? */ @@ -578,6 +583,7 @@ struct command_rx_struct *command, ...) { /* FIXME */ debug_print("inside chatnav_info\n"); + aim_conn_close(command->conn); return 1; } diff -r f9eb3eb9ffde -r 9e6fc62490cd src/server.c --- a/src/server.c Sun May 28 17:16:39 2000 +0000 +++ b/src/server.c Sun May 28 21:38:54 2000 +0000 @@ -29,6 +29,7 @@ #include #ifdef USE_OSCAR #include "../libfaim/aim.h" +extern int gaim_caps; #endif #include "gaim.h" @@ -236,7 +237,7 @@ sflap_send(buf, -1, TYPE_DATA); #else aim_bos_setprofile(gaim_sess, gaim_conn, current_user->user_info, - message, AIM_CAPS_CHAT); + message, gaim_caps); #endif } @@ -249,10 +250,10 @@ #else if (awaymessage) aim_bos_setprofile(gaim_sess, gaim_conn, info, - awaymessage->message, AIM_CAPS_CHAT); + awaymessage->message, gaim_caps); else aim_bos_setprofile(gaim_sess, gaim_conn, info, - NULL, AIM_CAPS_CHAT); + NULL, gaim_caps); #endif }