The Eclipse update site of IvyDE is using Apache mirrors. Here is the description of how it works.

Note: this knowledge has been based on the use of Eclpise 3.2 or Eclipse 3.3. Eclipse 3.4 use a new updater, it compatible, but the behaviour may differ.

What is an update site ?

The update site is a website offering for download Eclipse plugins.
It is basically composed of:

The site is optimized to save bandwidth. An optimized update site also contains:

Setup of the Apache mirrors:

In the site.xml file, the file describing the mirrors is declared by the mirrorsURL.
The IvyDE Eclipse mirror configuration is there: http://ant.apache.org/ivy/ivyde/updatesite/eclipse-update--xml.cgi
It declares that the plugins are also available on other updasite. Actually, Eclipse consider that the entire updatesite is mirrored. The only files that doesn't need to be mirrored is the mirrors configuration.

Deployment:

The update site is deployed on the Apache dist servers which are automatically mirrored. So the end user url for the updatesite is: http://www.apache.org/dist/ant/ivyde/updatesite

Only one file is hosted on the website. It is the file that declare the Apache mirrors: http://ant.apache.org/ivy/ivyde/updatesite/eclipse-update--xml.cgi

Eclipse behaviour:

  1. Eclipse get the site.xml for the www.apache.org/dist server
  2. Eclipse then get the list of the mirrors via http://ant.apache.org/ivy/ivyde/updatesite/eclipse-update--xml.cgi
  3. Eclipse 3.2 and 3.3 present then a list of mirrors to the end user. Eclipse 3.4 and 3.5 is selecting one without asking
  4. Then every operation will be done on the selected mirror, downloading the digest.zip, the jars, etc...