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