X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/14e097c105c49a102a642c8108979356c5cc3152..cec8c646c79e40d928464b08a6f2e3ea62bb1611:/methods/mirror.h diff --git a/methods/mirror.h b/methods/mirror.h index 91cf8c64f..97d18144a 100644 --- a/methods/mirror.h +++ b/methods/mirror.h @@ -23,16 +23,26 @@ using std::endl; 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 AllMirrors; // all available mirrors + string MirrorFile; // the file that contains the list of mirrors + bool DownloadedMirrorFile; // already downloaded this session + string Dist; // the target distrubtion (e.g. sid, oneiric) bool Debug; protected: - bool GetMirrorFile(string uri); - bool SelectMirror(); + bool DownloadMirrorFile(string uri); + bool RandomizeMirrorFile(string file); + 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);