2 * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
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.
12 #include "XactionInitiator.h"
14 XactionInitiator::Initiators
15 XactionInitiator::ParseInitiators(const char *name
)
17 typedef std::map
<std::string
, XactionInitiator::Initiators
> InitiatorsMap
;
18 static InitiatorsMap SupportedInitiators
= {
19 {"client", initClient
},
20 {"peer-pool", initPeerPool
},
21 {"certificate-fetching", initCertFetcher
},
23 {"cache-digest", initCacheDigest
},
24 {"server", initServer
},
30 {"adaptation", initAdaptation
},
32 {"peer-mcast", initPeerMcast
},
33 {"internal", InternalInitiators()},
34 {"all", AllInitiators()}
36 const auto it
= SupportedInitiators
.find(name
);
37 if (it
!= SupportedInitiators
.cend())
40 debugs(28, DBG_CRITICAL
, "FATAL: Invalid transaction_initiator value near " << name
);