XactionInitiator.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 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 
14 public:
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 
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 
61 private:
63 
65 };
66 
67 #endif // SQUID_SRC_XACTION_INITIATOR_H
68 
XactionInitiator(Initiator i)
int i
Definition: membanger.c:49
Cache Digest fetching code.
Missing intermediate certificates fetching code.
static Initiators AllInitiators()
all initiators
identifies a protocol agent or Squid feature initiating transactions
static Initiators ParseInitiators(const char *name)
uint32_t Initiators
Initiator set.
ICAP/ECAP requests generated by Squid.
Initiator
transaction triggers
the ASN db subsystem
bool internalClient() const
whether the transaction was initiated by an internal subsystem
eCAP-created HTTP message w/o an associated HTTP transaction (not ACL-detectable) ...
ESI processing code.
bool in(Initiators setOfInitiators) const
whether this initiator belongs to the given set
the ICP/neighbors subsystem
static Initiators InternalInitiators()
internally generated requests
the ICMP RTT database (NetDB) neighbors exchange subsystem
HTTP/2 push request (not yet supported by Squid)

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors