#include "squid.h"
#include "anyp/PortCfg.h"
#include "comm/Connection.h"
#include "comm/Loops.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>
![](ModSelect_8cc__incl.png)
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 41 of file ModSelect.cc.
◆ FD_MASK_BYTES
#define FD_MASK_BYTES sizeof(fd_mask) |
Definition at line 40 of file ModSelect.cc.
◆ howmany
#define howmany | ( | x, | |
y | |||
) | (((x)+((y)-1))/(y)) |
Definition at line 35 of file ModSelect.cc.
◆ NBBY
#define NBBY 8 |
Definition at line 38 of file ModSelect.cc.
Function Documentation
◆ comm_check_incoming_select_handlers()
Definition at line 122 of file ModSelect.cc.
References commUpdateReadBits(), commUpdateWriteBits(), DBG_IMPORTANT, debugs, fd_table, getCurrentTime(), incoming_sockets_accepted, StatCounters::selects, statCounter, StatCounters::syscalls, 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 490 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 212 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 190 of file ModSelect.cc.
References comm_check_incoming_select_handlers(), SquidConfig::comm_incoming, StatCounters::comm_udp, Config, Comm::Connection::fd, Comm::Incoming::finishPolling(), icpIncomingConn, icpOutgoingConn, Comm::IsConnOpen(), Comm::Incoming::startPolling(), statCounter, and SquidConfig::CommIncoming::udp.
◆ commIncomingStats()
|
static |
Definition at line 598 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 617 of file ModSelect.cc.
References global_readfds, and nreadfds.
Referenced by comm_check_incoming_select_handlers().
◆ commUpdateWriteBits()
Definition at line 629 of file ModSelect.cc.
References global_writefds, and nwritefds.
Referenced by comm_check_incoming_select_handlers().
◆ examine_select()
|
static |
Definition at line 536 of file ModSelect.cc.
References commCallCloseHandlers(), DBG_CRITICAL, debugs, F(), fd_table, fdTypeStr, ScheduleCallHere, StatCounters::selects, Squid_MaxFD, statCounter, StatCounters::syscalls, and xstrerr().
◆ fdIsDns()
Definition at line 99 of file ModSelect.cc.
References DnsSocketA, and DnsSocketB.
◆ fdIsTcpListener()
Definition at line 111 of file ModSelect.cc.
References HttpPortList.
◆ fdIsUdpListener()
Definition at line 87 of file ModSelect.cc.
References Comm::Connection::fd, icpIncomingConn, and icpOutgoingConn.
Variable Documentation
◆ commIncomingStats
|
static |
Definition at line 48 of file ModSelect.cc.
◆ global_readfds
|
static |
Definition at line 55 of file ModSelect.cc.
Referenced by commUpdateReadBits().
◆ global_writefds
|
static |
Definition at line 56 of file ModSelect.cc.
Referenced by commUpdateWriteBits().
◆ MAX_POLL_TIME
|
static |
Definition at line 32 of file ModSelect.cc.
◆ nreadfds
|
static |
Definition at line 57 of file ModSelect.cc.
Referenced by commUpdateReadBits().
◆ nwritefds
|
static |
Definition at line 58 of file ModSelect.cc.
Referenced by commUpdateWriteBits().
◆ zero_tv
|
static |
Definition at line 54 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