Hi,
The list of currently opened connections is kept based on the host: if a connection with a different host than the current one is requested, a new connection will be made as only idle connections of a same host can be reused. It would be nice not to apply the same model in the case of proxies. The connections opened by libsoup are with the proxy and not the host, therefore, whatever the host, libsoup should be able to reuse any idle connection. This means that in the particular case of the proxy, the list of connections should not be maintained at the host level but probably at the session level (note that Firefox has a max_conn_per_proxy).
In the context of the browser, many sites use the technique of requesting resources from different servers to speed up their download time and effectively go over the limitation imposed at the browser level on the number of concurrent connections to a given host. When the requests go through a proxy in such a case, a very large number of connections can be generated (depending on the max_conn_per_host value), and then terminated because libsoup thinks that the socket connection is no longer valid as the host changed.
Should this be filed in bugzilla?
Thank you,
Christophe