26 snprintf(nom, 32,
"client_delay_access %d", poolNumberMinusOne + 1);
47 for (
unsigned int i = 0; i <
pools().size(); ++i) {
51 " has no client_delay_access configured. " <<
52 "No client will ever use it.");
62 for (
unsigned int i = 0; i < pools_.size(); ++i)
63 pools_[i]->dump(entry, i);
76 debugs(3,
DBG_CRITICAL,
"parse_client_delay_pool_count: multiple client_delay_pools lines, " <<
77 "aborting all previous client_delay_pools config");
80 unsigned short pools_;
82 for (
int i = 0; i < pools_; ++i)
104 unsigned short poolId = 0;
106 if (poolId < 1 || poolId >
pools().
size()) {
108 poolId <<
" not in 1 .. " <<
pools().
size());
int64_t GetInteger64(void)
void aclParseAccessLine(const char *directive, ConfigParser &, acl_access **config)
Parses a single line of a "action followed by acls" directive (e.g., http_access).
unsigned short parsePoolId()
std::vector< ClientDelayPool::Pointer > & pools()
void finalize()
checks pools configuration
void parsePoolAccess(ConfigParser &parser)
void dumpPoolCount(StoreEntry *entry, const char *name) const
ClientDelayPool & pool(const int i)
~ClientDelayPool() override
void dump(StoreEntry *entry, unsigned int poolNumberMinusOne) const
std::vector< ClientDelayPool::Pointer > pools
static ClientDelayPools * Instance()
static void ParseUShort(unsigned short *var)
#define debugs(SECTION, LEVEL, CONTENT)
void aclDestroyAccessList(acl_access **list)
void dump_acl_access(StoreEntry *entry, const char *name, acl_access *head)
#define LOCAL_ARRAY(type, name, size)
void storeAppendPrintf(StoreEntry *e, const char *fmt,...)