Johannes Hofmann (2010-01-21 21:07):
Hi,
I made some progress on the connection limit stuff.
On Wed, Jan 20, 2010 at 02:43:17PM +0100, Johannes Hofmann wrote:
On Wed, Jan 20, 2010 at 08:59:12AM -0300, Jorge Arellano Cid wrote:
BTW, is the connection-number-limit patch in the next release?
No, it's not ready yet - unfortunately. We urgently need a connection limit, but it needs to be per remote host, as otherwise dillo can have all of it's 4 connections open to a slow server and then there is no connection left for other servers, e.g. used for other windows or tabs.
The limit is now per remote host, so slow servers don't block connections to other (faster) ones. Unfortunately the hash table implementation from lout can't be used, as http.c is C file. However the number of hosts to which we have open connections at a time seems to be quite small (maximum about 4 in my tests), so the simple list I'm using instead should be ok.
We alse might need to make a special case for connections to proxies.
Connections to proxies are also limited - with the same limit as for normal hosts (4 atm).
Please give it a try. If it works out ok we might even consider it for the release.
I have skimmed over hundreds of photos on flickr.com with both, vanilla dillo-2.1.1 and dillo-hg+connlimit2, with proxy and without. Browsing seems to work fine with all variations (I didn't try to analyze the packets), but I had a hard time trying to see the difference: I guess my internet connection is too fast and my X server too slow. Since I have a good internet connection, the images loaded faster without the patch, but sometimes the ones at the top of a page appeared sooner when the patch was applied. Since dillo and the servers seem to work with unlimited connections, perhaps defaulting to a limit of 6 wouldn't hurt? Dillo crashed twice in the beginning of my testing, but I am not sure anymore which build it was (because I've applied the gnutls-0.patch at first - https seemed to work). I couldn't reproduce the crashes afterwards. -- -- Rogut?s Sparnuotos