class MirrorMethod : public HttpMethod
{
FetchResult Res;
+ // we simply transform between BaseUri and Mirror
string BaseUri; // the original mirror://... url
string Mirror; // the selected mirror uri (http://...)
- string MirrorFile; //
- bool HasMirrorFile;
+ vector<string> AllMirrors; // all available mirrors
+ string MirrorFile; // the file that contains the list of mirrors
+ bool DownloadedMirrorFile; // already downloaded this session
bool Debug;
protected:
- bool GetMirrorFile(string uri);
- bool SelectMirror();
+ bool DownloadMirrorFile(string uri);
+ string GetMirrorFileName(string uri);
+ bool InitMirrors();
+ bool TryNextMirror();
+ void CurrentQueueUriToMirror();
+ bool Clean(string dir);
+
+ // we need to overwrite those to transform the url back
virtual void Fail(string Why, bool Transient = false);
virtual void URIStart(FetchResult &Res);
virtual void URIDone(FetchResult &Res,FetchResult *Alt = 0);