HttpHdrSc.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #ifndef SQUID_HTTPHDRSURROGATECONTROL_H
10 #define SQUID_HTTPHDRSURROGATECONTROL_H
11 
12 #include "http/forward.h"
13 #include "HttpHdrScTarget.h"
14 #include "mem/PoolingAllocator.h"
15 #include "SquidString.h"
16 
17 #include <list>
18 
19 class Packable;
20 class StatHist;
21 class StoreEntry;
22 
23 /* http surogate control header field */
24 class HttpHdrSc
25 {
27 
28 public:
29  bool parse(const String *str);
30  void packInto(Packable * p) const;
31  void updateStats(StatHist *) const;
32  HttpHdrScTarget * getMergedTarget(const char *ourtarget); // TODO: make const?
33  void setMaxAge(char const *target, int max_age);
34 
35 private:
36  HttpHdrScTarget * findTarget (const char *target);
37 
38  std::list<HttpHdrScTarget, PoolingAllocator<HttpHdrScTarget>> targets;
39 };
40 
41 /* Http Surrogate Control Header Field */
42 void httpHdrScStatDumper(StoreEntry * sentry, int idx, double val, double size, int count);
43 void httpHdrScInitModule (void);
45 void httpHdrScSetMaxAge(HttpHdrSc *, char const *, int);
46 
48 #endif /* SQUID_HTTPHDRSURROGATECONTROL_H */
49 
void httpHdrScStatDumper(StoreEntry *sentry, int idx, double val, double size, int count)
Definition: HttpHdrSc.cc:272
void packInto(Packable *p) const
Definition: HttpHdrSc.cc:228
void updateStats(StatHist *) const
Definition: HttpHdrSc.cc:251
bool parse(const String *str)
Definition: HttpHdrSc.cc:74
http_hdr_sc_type
Definition: forward.h:31
HttpHdrScTarget * getMergedTarget(const char *ourtarget)
Definition: HttpHdrSc.cc:296
int size
Definition: ModDevPoll.cc:76
void setMaxAge(char const *target, int max_age)
Definition: HttpHdrSc.cc:238
std::list< HttpHdrScTarget, PoolingAllocator< HttpHdrScTarget > > targets
Definition: HttpHdrSc.h:38
HttpHdrScTarget * findTarget(const char *target)
Definition: HttpHdrSc.cc:285
http_hdr_sc_type & operator++(http_hdr_sc_type &)
Definition: HttpHdrSc.cc:41
void httpHdrScInitModule(void)
Definition: HttpHdrSc.cc:49
#define MEMPROXY_CLASS(CLASS)
void httpHdrScSetMaxAge(HttpHdrSc *, char const *, int)
HttpHdrSc * httpHdrScParseCreate(String const &)
Definition: HttpHdrSc.cc:60

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors