#include "squid.h"
#include "anyp/PortCfg.h"
#include "comm/Connection.h"
#include "comm/Loops.h"
#include "compat/select.h"
#include "fde.h"
#include "globals.h"
#include "ICP.h"
#include "mgr/Registration.h"
#include "SquidConfig.h"
#include "StatCounters.h"
#include "StatHist.h"
#include "Store.h"
#include <cerrno>

Go to the source code of this file.
Macros | |
#define | howmany(x, y) (((x)+((y)-1))/(y)) |
#define | NBBY 8 |
#define | FD_MASK_BYTES sizeof(fd_mask) |
#define | FD_MASK_BITS (FD_MASK_BYTES*NBBY) |
Functions | |
static int | examine_select (fd_set *, fd_set *) |
static int | fdIsTcpListener (int fd) |
static int | fdIsUdpListener (int fd) |
static int | fdIsDns (int fd) |
static int | comm_check_incoming_select_handlers (int nfds, int *fds) |
static void | comm_select_dns_incoming (void) |
static void | commUpdateReadBits (int fd, PF *handler) |
static void | commUpdateWriteBits (int fd, PF *handler) |
static void | comm_select_udp_incoming (void) |
static void | comm_select_tcp_incoming (void) |
static void | commIncomingStats (StoreEntry *sentry) |
Variables | |
static int | MAX_POLL_TIME = 1000 |
static OBJH | commIncomingStats |
static struct timeval | zero_tv |
static fd_set | global_readfds |
static fd_set | global_writefds |
static int | nreadfds |
static int | nwritefds |
Macro Definition Documentation
◆ FD_MASK_BITS
#define FD_MASK_BITS (FD_MASK_BYTES*NBBY) |
Definition at line 42 of file ModSelect.cc.
◆ FD_MASK_BYTES
#define FD_MASK_BYTES sizeof(fd_mask) |
Definition at line 41 of file ModSelect.cc.
◆ howmany
#define howmany | ( | x, | |
y | |||
) | (((x)+((y)-1))/(y)) |
Definition at line 36 of file ModSelect.cc.
◆ NBBY
#define NBBY 8 |
Definition at line 39 of file ModSelect.cc.
Function Documentation
◆ comm_check_incoming_select_handlers()
Definition at line 123 of file ModSelect.cc.
References commUpdateReadBits(), commUpdateWriteBits(), DBG_IMPORTANT, debugs, fd_table, getCurrentTime(), incoming_sockets_accepted, StatCounters::selects, statCounter, StatCounters::syscalls, xselect(), and zero_tv.
Referenced by comm_select_dns_incoming(), comm_select_tcp_incoming(), and comm_select_udp_incoming().
◆ comm_select_dns_incoming()
|
static |
Definition at line 491 of file ModSelect.cc.
References comm_check_incoming_select_handlers(), StatCounters::comm_dns, SquidConfig::comm_incoming, Config, SquidConfig::CommIncoming::dns, DnsSocketA, DnsSocketB, Comm::Incoming::finishPolling(), Comm::Incoming::startPolling(), and statCounter.
◆ comm_select_tcp_incoming()
|
static |
Definition at line 213 of file ModSelect.cc.
References comm_check_incoming_select_handlers(), SquidConfig::comm_incoming, StatCounters::comm_tcp, Config, Comm::Incoming::finishPolling(), HttpPortList, Comm::IsConnOpen(), MAXTCPLISTENPORTS, Comm::Incoming::startPolling(), statCounter, and SquidConfig::CommIncoming::tcp.
◆ comm_select_udp_incoming()
|
static |
Definition at line 191 of file ModSelect.cc.
References comm_check_incoming_select_handlers(), SquidConfig::comm_incoming, StatCounters::comm_udp, Config, Comm::Incoming::finishPolling(), icpIncomingConn, icpOutgoingConn, Comm::IsConnOpen(), Comm::Incoming::startPolling(), statCounter, and SquidConfig::CommIncoming::udp.
◆ commIncomingStats()
|
static |
Definition at line 599 of file ModSelect.cc.
References StatCounters::comm_dns, StatCounters::comm_tcp, StatCounters::comm_udp, StatHist::dump(), Comm::Incoming::Factor, Comm::Incoming::history, Comm::Incoming::interval, statCounter, statHistIntDumper, and storeAppendPrintf().
◆ commUpdateReadBits()
Definition at line 618 of file ModSelect.cc.
References global_readfds, and nreadfds.
Referenced by comm_check_incoming_select_handlers().
◆ commUpdateWriteBits()
Definition at line 630 of file ModSelect.cc.
References global_writefds, and nwritefds.
Referenced by comm_check_incoming_select_handlers().
◆ examine_select()
|
static |
Definition at line 537 of file ModSelect.cc.
References fde::closeHandler, commCallCloseHandlers(), DBG_CRITICAL, debugs, fde::desc, fd_table, fdTypeStr, AsyncCall::Next(), fde::read_handler, ScheduleCallHere, StatCounters::selects, Squid_MaxFD, statCounter, StatCounters::syscalls, fde::timeoutHandler, fde::type, fde::write_handler, and xstrerr().
◆ fdIsDns()
Definition at line 100 of file ModSelect.cc.
References DnsSocketA, and DnsSocketB.
◆ fdIsTcpListener()
Definition at line 112 of file ModSelect.cc.
References HttpPortList.
◆ fdIsUdpListener()
Definition at line 88 of file ModSelect.cc.
References icpIncomingConn, and icpOutgoingConn.
Variable Documentation
◆ commIncomingStats
|
static |
Definition at line 49 of file ModSelect.cc.
◆ global_readfds
|
static |
Definition at line 56 of file ModSelect.cc.
Referenced by commUpdateReadBits().
◆ global_writefds
|
static |
Definition at line 57 of file ModSelect.cc.
Referenced by commUpdateWriteBits().
◆ MAX_POLL_TIME
|
static |
Definition at line 33 of file ModSelect.cc.
◆ nreadfds
|
static |
Definition at line 58 of file ModSelect.cc.
Referenced by commUpdateReadBits().
◆ nwritefds
|
static |
Definition at line 59 of file ModSelect.cc.
Referenced by commUpdateWriteBits().
◆ zero_tv
|
static |
Definition at line 55 of file ModSelect.cc.
Referenced by comm_check_incoming_select_handlers().
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products