]>
Commit | Line | Data |
---|---|---|
7ede6971 | 1 | /* |
bbc27441 | 2 | * Copyright (C) 1996-2014 The Squid Software Foundation and contributors |
7ede6971 | 3 | * |
bbc27441 AJ |
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. | |
7ede6971 | 7 | */ |
8 | ||
9 | #ifndef SQUID_HTTPHDRSURROGATECONTROL_H | |
10 | #define SQUID_HTTPHDRSURROGATECONTROL_H | |
11 | ||
7ede6971 | 12 | #include "HttpHdrScTarget.h" |
13 | ||
582c2af2 FC |
14 | class StatHist; |
15 | ||
7ede6971 | 16 | /* http surogate control header field */ |
17 | ||
18 | class HttpHdrSc | |
19 | { | |
741c2986 | 20 | MEMPROXY_CLASS(HttpHdrSc); |
7ede6971 | 21 | |
22 | public: | |
45a58345 FC |
23 | HttpHdrSc(const HttpHdrSc &); |
24 | HttpHdrSc() {} | |
25 | ~HttpHdrSc(); | |
26 | ||
27 | bool parse(const String *str); | |
28 | void packInto(Packer * p) const; | |
29 | void updateStats(StatHist *) const; | |
30 | HttpHdrScTarget * getMergedTarget (const char *ourtarget); //todo: make const? | |
31 | void setMaxAge(char const *target, int max_age); | |
32 | void addTarget(HttpHdrScTarget *t) { | |
33 | dlinkAdd(t, &t->node, &targets); | |
34 | } | |
35 | void addTargetAtTail(HttpHdrScTarget *t) { | |
36 | dlinkAddTail (t, &t->node, &targets); | |
37 | } | |
38 | ||
7ede6971 | 39 | dlink_list targets; |
45a58345 FC |
40 | private: |
41 | HttpHdrScTarget * findTarget (const char *target); | |
42 | ||
7ede6971 | 43 | }; |
44 | ||
7ede6971 | 45 | /* Http Surrogate Control Header Field */ |
8a648e8d FC |
46 | void httpHdrScStatDumper(StoreEntry * sentry, int idx, double val, double size, int count); |
47 | void httpHdrScInitModule (void); | |
48 | void httpHdrScCleanModule (void); | |
49 | HttpHdrSc *httpHdrScParseCreate(String const &); | |
50 | void httpHdrScSetMaxAge(HttpHdrSc *, char const *, int); | |
7ede6971 | 51 | |
52 | #endif /* SQUID_HTTPHDRSURROGATECONTROL_H */ |