Summary: | Should stop hardcoding SOCKS5 proxies and use our own round robin server instead | ||
---|---|---|---|
Product: | Telepathy | Reporter: | Guillaume Desmottes <guillaume.desmottes> |
Component: | gabble | Assignee: | Telepathy bugs list <telepathy-bugs> |
Status: | RESOLVED FIXED | QA Contact: | Telepathy bugs list <telepathy-bugs> |
Severity: | enhancement | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Guillaume Desmottes
2009-11-26 09:45:48 UTC
(In reply to comment #0) > - don't remove proxy from the list once the query has been sent I'm not sure what's the best algorithm for that. We could do something like: - first time we need SOCKS5 proxies, send $N requests to proxies from the fallback list. If needed reuse the same ones. - Let's say you received $S1 successful replies from those. - Next time we need proxies, send 1 (or $N - $S1 ?) queries (here again, reuse if needed). - Let's say you received $S2 successful replies from those. - Drop the oldest proxies to keep the latest $M discovered (with $N == $M?) This should work pretty well with our round robin server as we'll always get a pool of working proxies and will continue to refresh it during the lifetime of the connection. But that won't work so well for non round robin server. Either they are working and we'll continue to receive the same host from them. Either they are not and there is no point to continue to flood them with request. This will lead to unnecessary traffic to the proxies which is a bit of a shame as we just reduced it. Maybe the proxy.telepathy.im should be hardcoded somewhere and handled differently? The new algorithm is implemented and nicely tested in: http://git.collabora.co.uk/?p=user/cassidy/telepathy-gabble;a=shortlog;h=refs/heads/proxy-round-robin We shouldn't merge this branch until we switch to proxy.telepathy.im by default as this branch would just add usless traffics to non round robin servers. The following branch re-uses the patches from my proxy-round-robin branch which still make sense with the new design of the server. That's basically improving the way Gabble manages the proxies cache. http://git.collabora.co.uk/?p=user/cassidy/telepathy-gabble;a=shortlog;h=refs/heads/proxy-cache This branch, based on the above one, adds support for proxies.telepathy.im http://git.collabora.co.uk/?p=user/cassidy/telepathy-gabble;a=shortlog;h=refs/heads/proxies Merged to 0.8 and master. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.