Mercurial > pidgin.yaz
view src/gaim-socket.h @ 4331:bbd7b12986a8
[gaim-migrate @ 4595]
Okay, a few new goodies in here!
HTTP redirect support! Sean wants to be able to drag-and-drop themes from
our new themes page, but they're hiding behind a script that redirects.
Rather than lose functionality in the script, I added redirects here. Works
like a charm.
Smarter memory reallocation! The buffer was being reallocated every byte.
That means 10,000,000 of data would cause 10,000,000 reallocations. Now
it starts off with a buffer of 4096 (for HTTP headers) or 8192 (for data)
and reads until it's full. When full, the buffer increases by half of the
previous size.
Content-Length support! The HTTP headers are scanned for a Content-Length
header. If found, it uses this for the buffer instead of 8192. This should
reduce the number of reallocations to 0.
Have fun draggening-and-droppening.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sat, 18 Jan 2003 00:53:42 +0000 |
parents | 3da42b64304e |
children | fa6395637e2c |
line wrap: on
line source
/* * gaim-remote * * Copyright (C) 2002, Sean Egan <bj91704@binghamton.edu> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef _GAIM_SOCKET_H_ #define _GAIM_SOCKET_H_ struct gaim_cui_packet { guchar type; guchar subtype; guint32 length; char *data; }; void cui_send_packet (int fd, struct gaim_cui_packet *p); gint gaim_connect_to_session(gint session); gboolean gaim_session_exists(int sess); struct gaim_cui_packet *cui_packet_new(guchar type, guchar subtype); void cui_packet_free(struct gaim_cui_packet *p); void cui_packet_append_string(struct gaim_cui_packet *p, char *str); void cui_packet_append_char(struct gaim_cui_packet *p, char c); void cui_packet_append_raw(struct gaim_cui_packet *p, char *str, int len); #endif /* _GAIM_SOCKET_H_ */