Facilitator tells proxies how often to poll
Flash proxies have a built-in hard-coded polling interval (currently 10 minutes). When we needed to change the polling interval, I pushed a new version of flashproxy.js
(commits 49de7bf6 and 69d429db). They should rather get their polling interval from the facilitator. That is, in response to a polling request, the facilitator sends back
client=&check-back-in=600
meaning, no client now, try again in 10 minutes. Send check-back-in
even if the response contains a client.
The benefits of the facilitator controlling the polling interval are:
- facilitator can dynamically change the interval to maintain a desired polling level
- different intervals can be given to IPv4 and IPv6 proxies (we want IPv6 to poll faster because there are fewer of them)
- we want to rate-limit polling (#7823 (closed)) and it means changing policy in just one place (the facilitator) and not having to change proxy code at the same time to match.
The logic behind this needs to be in facilitator
, not facilitator.cgi
. In other words, facilitator.cgi
sends to facilitator
GET FROM=1.2.3.4:10000
and facilitator
sends back
NONE CHECK-BACK-IN="600"
or
OK CLIENT="9.9.9.9:9999" RELAY="123.123.123.123:9901" CHECK-BACK-IN="600"
Dynamic changing of the polling interval is not part of this ticket. This ticket is only to hardcode 10 minutes in the facilitator and to make proxies obey it.