]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/adaptation/icap/History.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / adaptation / icap / History.h
index e4cbd2579938a2d8a372007992b7061d73b2de88..93a381433c3281eb7150259eb2bf58e25242bf77 100644 (file)
@@ -1,9 +1,18 @@
+/*
+ * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
 #ifndef SQUID_ICAPHISTORY_H
 #define SQUID_ICAPHISTORY_H
 
-#include "RefCount.h"
-#include "HttpHeader.h"
+#include "base/RefCount.h"
 #include "enums.h"
+#include "LogTags.h"
+#include "SquidString.h"
 
 namespace Adaptation
 {
@@ -17,43 +26,30 @@ public:
     typedef RefCount<History> Pointer;
 
     History();
-    History(const History& ih);
-
-    ~History();
-
-    History& operator=(const History& ih);
-
-    ///store the last reply header from ICAP server
-    void setIcapLastHeader(const HttpHeader * lih);
-    ///merge new header and stored one
-    void mergeIcapHeaders(const HttpHeader * lih);
 
     /// record the start of an ICAP processing interval
     void start(const char *context);
     /// note the end of an ICAP processing interval
     void stop(const char *context);
 
-    /// returns the total time of all ICAP processing intervals
-    int processingTime() const;
+    /// the total time of all ICAP processing intervals
+    /// \param[out] total time taken for all ICAP processing
+    void processingTime(struct timeval &total) const;
 
-    HttpHeader mergeOfIcapHeaders; ///< Merge of REQMOD and RESPMOD responses. If both responses contain the header, the one from the last response will be used
-    HttpHeader lastIcapHeader; ///< Last received reply from ICAP server
     String rfc931; ///< the username from ident
-#if USE_SSL
+#if USE_OPENSSL
     String ssluser; ///< the username from SSL
 #endif
-    log_type logType; ///< the squid request status (TCP_MISS etc)
+    LogTags logType; ///< the squid request status (TCP_MISS etc)
 
     String log_uri; ///< the request uri
     size_t req_sz; ///< the request size
 
 private:
-    void assign(const History &);
-
-    int currentTime() const; ///< time since current start or zero
+    void currentTime(struct timeval &) const; ///< time since current start or zero
 
     timeval currentStart; ///< when the current processing interval started
-    int pastTime;         ///< sum of closed processing interval durations
+    struct timeval pastTime; ///< sum of closed processing interval durations
     int concurrencyLevel; ///< number of concurrent processing threads
 };
 
@@ -61,3 +57,4 @@ private:
 } // namespace Adaptation
 
 #endif /*SQUID_HISTORY_H*/
+