diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-11-09 12:25:44 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-12-31 02:29:21 +0100 |
commit | 13a9f08de18dea0dfc1951992b0ddeda9c2fa2dd (patch) | |
tree | 8ad39c2360ffe9cc7fee09baba04fa6fe3033dbd /methods/https.h | |
parent | cfc11b2e1d8480727208b9d3e9577172de9a4038 (diff) |
separating state variables regarding server/request
Having a Reset(bool) method to partially reset certain variables like
the download size always were strange, so this commit splits the
ServerState into an additional RequestState living on the stack for as
long as we deal with this request causing an automatic "reset".
There is much to do still to make this code look better, but this is a
good first step which compiles cleanly and passes all tests, so keeping
it as history might be beneficial and due to avoiding explicit memory
allocations it ends up fixing a small memory leak in https, too.
Closes: #440057
Diffstat (limited to 'methods/https.h')
-rw-r--r-- | methods/https.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/methods/https.h b/methods/https.h index 04e72e815..3b99b3abe 100644 --- a/methods/https.h +++ b/methods/https.h @@ -32,23 +32,23 @@ class HttpsServerState : public ServerState protected: virtual bool ReadHeaderLines(std::string &/*Data*/) APT_OVERRIDE { return false; } - virtual bool LoadNextResponse(bool const /*ToFile*/, FileFd * const /*File*/) APT_OVERRIDE { return false; } + virtual bool LoadNextResponse(bool const /*ToFile*/, RequestState &/*Req*/) APT_OVERRIDE { return false; } public: virtual bool WriteResponse(std::string const &/*Data*/) APT_OVERRIDE { return false; } /** \brief Transfer the data from the socket */ - virtual bool RunData(FileFd * const /*File*/) APT_OVERRIDE { return false; } - virtual bool RunDataToDevNull() APT_OVERRIDE { return false; } + virtual bool RunData(RequestState &) APT_OVERRIDE { return false; } + virtual bool RunDataToDevNull(RequestState &) APT_OVERRIDE { return false; } virtual bool Open() APT_OVERRIDE { return false; } virtual bool IsOpen() APT_OVERRIDE { return false; } virtual bool Close() APT_OVERRIDE { return false; } virtual bool InitHashes(HashStringList const &ExpectedHashes) APT_OVERRIDE; virtual Hashes * GetHashes() APT_OVERRIDE; - virtual bool Die(FileFd * const /*File*/) APT_OVERRIDE { return false; } + virtual bool Die(RequestState &/*Req*/) APT_OVERRIDE { return false; } virtual bool Flush(FileFd * const /*File*/) APT_OVERRIDE { return false; } - virtual bool Go(bool /*ToFile*/, FileFd * const /*File*/) APT_OVERRIDE { return false; } + virtual bool Go(bool /*ToFile*/, RequestState &/*Req*/) APT_OVERRIDE { return false; } HttpsServerState(URI Srv, HttpsMethod *Owner); virtual ~HttpsServerState() {Close();}; |