summaryrefslogtreecommitdiff
path: root/methods/mirror.h
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2017-10-27 18:39:36 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2018-01-03 18:55:41 +0100
commit57fa854e4cdb060e87ca265abd5a83364f9fa681 (patch)
treef360e6166d8c5352e3954a0c9129b57a3dcfaf69 /methods/mirror.h
parentef9677831f62a1554a888ebc7b162517d7881116 (diff)
reimplement and simplify mirror:// method
Embedding an entire acquire stack and HTTP logic in the mirror method made it rather heavy weight and fragile. This reimplement goes the other way by doing only the bare minimum in the method itself and instead redirect the actual download of files to their proper methods. The reimplementation drops the (in the real world) unused query-string feature as it isn't really implementable in the new architecture.
Diffstat (limited to 'methods/mirror.h')
-rw-r--r--methods/mirror.h57
1 files changed, 0 insertions, 57 deletions
diff --git a/methods/mirror.h b/methods/mirror.h
deleted file mode 100644
index 6ebe08e6b..000000000
--- a/methods/mirror.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// -*- mode: cpp; mode: fold -*-
-// Description /*{{{*/
-/* ######################################################################
-
- MIRROR Acquire Method - This is the MIRROR acquire method for APT.
-
- ##################################################################### */
- /*}}}*/
-
-#ifndef APT_MIRROR_H
-#define APT_MIRROR_H
-
-#include <iostream>
-#include <string>
-#include <vector>
-
-using std::cout;
-using std::cerr;
-using std::endl;
-
-#include "http.h"
-
-class MirrorMethod : public HttpMethod
-{
- FetchResult Res;
- // we simply transform between BaseUri and Mirror
- std::string BaseUri; // the original mirror://... url
- std::string Mirror; // the selected mirror uri (http://...)
- std::vector<std::string> AllMirrors; // all available mirrors
- std::string MirrorFile; // the file that contains the list of mirrors
- bool DownloadedMirrorFile; // already downloaded this session
- std::string Dist; // the target distrubtion (e.g. sid, oneiric)
-
- bool Debug;
-
- protected:
- bool DownloadMirrorFile(std::string uri);
- bool RandomizeMirrorFile(std::string file);
- std::string GetMirrorFileName(std::string uri);
- bool InitMirrors();
- bool TryNextMirror();
- void CurrentQueueUriToMirror();
- bool Clean(std::string dir);
-
- // we need to overwrite those to transform the url back
- virtual void Fail(std::string Why, bool Transient = false) APT_OVERRIDE;
- virtual void URIStart(FetchResult &Res) APT_OVERRIDE;
- virtual void URIDone(FetchResult &Res,FetchResult *Alt = 0) APT_OVERRIDE;
- virtual bool Configuration(std::string Message) APT_OVERRIDE;
-
- public:
- MirrorMethod();
- virtual bool Fetch(FetchItem *Itm) APT_OVERRIDE;
-};
-
-
-#endif