]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/comm/AcceptLimiter.cc
2 #include "comm/AcceptLimiter.h"
3 #include "comm/ListenStateData.h"
6 Comm::AcceptLimiter
Comm::AcceptLimiter::Instance_
;
8 Comm::AcceptLimiter
&Comm::AcceptLimiter::Instance()
14 Comm::AcceptLimiter::defer(Comm::ListenStateData
*afd
)
17 debugs(5, 5, HERE
<< "FD " << afd
->fd
<< " x" << afd
->isLimited
);
18 deferred
.push_back(afd
);
22 Comm::AcceptLimiter::kick()
24 debugs(5, 5, HERE
<< " size=" << deferred
.size());
25 if (deferred
.size() > 0 && fdNFree() >= RESERVED_FD
) {
26 debugs(5, 5, HERE
<< " doing one.");
27 /* NP: shift() is equivalent to pop_front(). Giving us a FIFO queue. */
28 ListenStateData
*temp
= deferred
.shift();