ServiceConfig.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 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_ADAPTATION__SERVICE_CONFIG_H
10#define SQUID_ADAPTATION__SERVICE_CONFIG_H
11
12#include "adaptation/Elements.h"
13#include "base/RefCount.h"
14#include "base/YesNoNone.h"
16#include "SquidString.h"
17
18namespace Adaptation
19{
20
21// manages adaptation service configuration in squid.conf
23{
24public:
26
27 const char *methodStr() const;
28 const char *vectPointStr() const;
29
30 bool parse();
31
32public:
33 String key; // service_configConfig name in the configuration file
34 String uri; // service_configConfig URI
35
36 // service_configConfig URI components
40 int port;
41
42 Method method; // what is being adapted (REQMOD vs RESPMOD)
43 VectPoint point; // where the adaptation happens (pre- or post-cache)
44 bool bypass;
45
46 // options
47 long maxConn;
49 bool routing;
50 bool ipv6;
51
52 // security settings for adaptation service
55
56protected:
57 Method parseMethod(const char *buf) const;
58 VectPoint parseVectPoint(const char *buf) const;
59
61 bool grokBool(bool &var, const char *name, const char *value);
62 bool grokUri(const char *value);
63 bool grokLong(long &var, const char *name, const char *value);
65 bool grokOnOverload(SrvBehaviour &var, const char *value);
67 virtual bool grokExtension(const char *name, const char *value);
68};
69
70} // namespace Adaptation
71
72#endif /* SQUID_ADAPTATION__SERVICE_CONFIG_H */
73
#define RefCountable
The locking interface for use on Reference-Counted classes.
Definition: Lock.h:66
bool routing
whether this service may determine the next service(s)
Definition: ServiceConfig.h:49
bool grokLong(long &var, const char *name, const char *value)
bool grokUri(const char *value)
VectPoint parseVectPoint(const char *buf) const
bool ipv6
whether this service uses IPv6 transport (default IPv4)
Definition: ServiceConfig.h:50
bool grokOnOverload(SrvBehaviour &var, const char *value)
handle on-overload configuration option
Security::PeerOptions secure
Definition: ServiceConfig.h:53
const char * vectPointStr() const
YesNoNone connectionEncryption
whether this service uses only secure connections
Definition: ServiceConfig.h:54
long maxConn
maximum number of concurrent service transactions
Definition: ServiceConfig.h:47
virtual bool grokExtension(const char *name, const char *value)
handle name=value configuration option with name unknown to Squid
const char * methodStr() const
SrvBehaviour onOverload
how to handle Max-Connections feature
Definition: ServiceConfig.h:48
bool grokBool(bool &var, const char *name, const char *value)
interpret parsed values
Method parseMethod(const char *buf) const
TLS squid.conf settings for a remote server peer.
Definition: PeerOptions.h:26

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors