XactionInitiator.cc
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#include "squid.h"
10#include "cache_cf.h"
11#include "debug/Stream.h"
12#include "XactionInitiator.h"
13
14#include <map>
15#include <string>
16
19{
20 typedef std::map<std::string, XactionInitiator::Initiators> InitiatorsMap;
21 static InitiatorsMap SupportedInitiators = {
22 {"client", initClient},
23 {"peer-pool", initPeerPool},
24 {"certificate-fetching", initCertFetcher},
25 {"esi", initEsi},
26 {"cache-digest", initCacheDigest},
27 {"server", initServer},
28 {"htcp", initHtcp},
29 {"icp", initIcp},
30 {"icmp", initIcmp},
31 {"asn", initAsn},
32 {"ipc", initIpc},
33 {"adaptation", initAdaptation},
34 {"icon", initIcon},
35 {"peer-mcast", initPeerMcast},
36 {"internal", InternalInitiators()},
37 {"all", AllInitiators()}
38 };
39 const auto it = SupportedInitiators.find(name);
40 if (it != SupportedInitiators.cend())
41 return it->second;
42
43 debugs(28, DBG_CRITICAL, "FATAL: Invalid transaction_initiator value near " << name);
45 return 0;
46}
47
void self_destruct(void)
Definition: cache_cf.cc:277
static Initiators ParseInitiators(const char *name)
@ initPeerMcast
neighbor multicast
@ initIcp
the ICP/neighbors subsystem
@ initIcmp
the ICMP RTT database (NetDB) neighbors exchange subsystem
@ initAsn
the ASN db subsystem
@ initAdaptation
ICAP/ECAP requests generated by Squid.
@ initHtcp
HTCP client.
@ initEsi
ESI processing code.
@ initServer
HTTP/2 push request (not yet supported by Squid)
@ initCacheDigest
Cache Digest fetching code.
@ initIcon
internal icons
@ initPeerPool
PeerPool manager.
@ initCertFetcher
Missing intermediate certificates fetching code.
@ initClient
HTTP or FTP client.
@ initIpc
the IPC subsystem
static Initiators AllInitiators()
all initiators
static Initiators InternalInitiators()
internally generated requests
uint32_t Initiators
Initiator set.
#define debugs(SECTION, LEVEL, CONTENT)
Definition: Stream.h:194
#define DBG_CRITICAL
Definition: Stream.h:37

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors