SoupSession: bind connections to messages sooner, improve conn failure case
authorDan Winship <danw@gnome.org>
Wed, 2 Jun 2010 10:05:46 +0000 (12:05 +0200)
committerDan Winship <danw@gnome.org>
Wed, 9 Jun 2010 15:23:32 +0000 (11:23 -0400)
commit6d7e7e21e2da6109dd9ce287c2b51e312d66c2c7
treef85dc39ef08b5629be505f2c91addad78ecd27ea
parentdc6395ccdb50e930bf71cd789bcb06e9b25aec44
SoupSession: bind connections to messages sooner, improve conn failure case

Rather than having connections be independent until a message is
actually sent on them, assign them to queue items when they're created
for them. This means that, eg, if another connection frees up while
we're waiting for the first connection to connect, that we can't take
advantage of that. But it simplifies a ton of other things.

Also, if a new connection fails, don't fail every other message on
that host; let them succeed or fail independently. When doing a
CONNECT though, keep track of the queue item that necessitated it so
we can error that out if the CONNECT fails, just like we would if the
actual soup_connection_connect() had failed.

https://bugzilla.gnome.org/show_bug.cgi?id=619633
libsoup/soup-message-queue.c
libsoup/soup-message-queue.h
libsoup/soup-session-async.c
libsoup/soup-session-private.h
libsoup/soup-session-sync.c
libsoup/soup-session.c