XactionInitiator.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2022 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_SRC_XACTION_INITIATOR_H
10#define SQUID_SRC_XACTION_INITIATOR_H
11
14public:
16 enum Initiator {
18 initClient = 1 << 0,
19 initPeerPool = 1 << 1,
20 initCertFetcher = 1 << 2,
21 initEsi = 1 << 3,
22 initCacheDigest = 1 << 4,
23 initHtcp = 1<< 5,
24 initIcp = 1 << 6,
25 initIcmp = 1 << 7,
26 initAsn = 1 << 8,
27 initIpc = 1 << 9,
28 initAdaptation = 1 << 10,
29 initIcon = 1 << 11,
30 initPeerMcast = 1 << 12,
31 initServer = 1 << 13,
32
33 initAdaptationOrphan_ = 1 << 31
34 };
35
36 typedef uint32_t Initiators;
37
38 // this class is a just a trivial wrapper so we allow explicit conversions
40
42 bool in(Initiators setOfInitiators) const {return (initiator & setOfInitiators) != 0;}
43
45 bool internalClient() const {
46 return (initiator & InternalInitiators()) != 0;
47 }
48
52 }
53
56 return 0xFFFFFFFF;
57 }
58
59 static Initiators ParseInitiators(const char *name);
60
61private:
63
65};
66
67#endif // SQUID_SRC_XACTION_INITIATOR_H
68
identifies a protocol agent or Squid feature initiating transactions
static Initiators ParseInitiators(const char *name)
Initiator
transaction triggers
@ 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
@ initAdaptationOrphan_
eCAP-created HTTP message w/o an associated HTTP transaction (not ACL-detectable)
@ 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
bool internalClient() const
whether the transaction was initiated by an internal subsystem
uint32_t Initiators
Initiator set.
bool in(Initiators setOfInitiators) const
whether this initiator belongs to the given set
XactionInitiator(Initiator i)

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors