AcceptLimiter.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 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_COMM_ACCEPT_LIMITER_H
10#define _SQUID_SRC_COMM_ACCEPT_LIMITER_H
11
12#include "comm/TcpAcceptor.h"
13
14#include <deque>
15
16namespace Comm
17{
18
30{
31
32public:
34 static AcceptLimiter &Instance();
35
37 void defer(const TcpAcceptor::Pointer &afd);
38
40 void removeDead(const TcpAcceptor::Pointer &afd);
41
43 void kick();
44
45private:
47
49 std::deque<TcpAcceptor::Pointer> deferred_;
50};
51
52}; // namespace Comm
53
54#endif /* _SQUID_SRC_COMM_ACCEPT_LIMITER_H */
55
void defer(const TcpAcceptor::Pointer &afd)
std::deque< TcpAcceptor::Pointer > deferred_
Definition: AcceptLimiter.h:49
static AcceptLimiter Instance_
Definition: AcceptLimiter.h:46
void removeDead(const TcpAcceptor::Pointer &afd)
static AcceptLimiter & Instance()
Abstraction layer for TCP, UDP, TLS, UDS and filedescriptor sockets.
Definition: AcceptLimiter.h:17

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors