ModSelect.cc File Reference
#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>
Include dependency graph for ModSelect.cc:

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)
 
#define MAX_INCOMING_INTEGER   256
 
#define INCOMING_FACTOR   5
 
#define MAX_INCOMING_INTERVAL   (MAX_INCOMING_INTEGER << INCOMING_FACTOR)
 
#define commCheckUdpIncoming   (++udp_io_events > (incoming_udp_interval>> INCOMING_FACTOR))
 
#define commCheckDnsIncoming   (++dns_io_events > (incoming_dns_interval>> INCOMING_FACTOR))
 
#define commCheckTcpIncoming   (++tcp_io_events > (incoming_tcp_interval>> INCOMING_FACTOR))
 

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
 
static int udp_io_events = 0
 
static int dns_io_events = 0
 
static int tcp_io_events = 0
 
static int incoming_udp_interval = 16 << INCOMING_FACTOR
 
static int incoming_dns_interval = 16 << INCOMING_FACTOR
 
static int incoming_tcp_interval = 16 << INCOMING_FACTOR
 

Macro Definition Documentation

◆ commCheckDnsIncoming

#define commCheckDnsIncoming   (++dns_io_events > (incoming_dns_interval>> INCOMING_FACTOR))

Definition at line 118 of file ModSelect.cc.

◆ commCheckTcpIncoming

#define commCheckTcpIncoming   (++tcp_io_events > (incoming_tcp_interval>> INCOMING_FACTOR))

Definition at line 119 of file ModSelect.cc.

◆ commCheckUdpIncoming

#define commCheckUdpIncoming   (++udp_io_events > (incoming_udp_interval>> INCOMING_FACTOR))

Definition at line 117 of file ModSelect.cc.

◆ 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,
 
)    (((x)+((y)-1))/(y))

Definition at line 35 of file ModSelect.cc.

◆ INCOMING_FACTOR

#define INCOMING_FACTOR   5

Definition at line 109 of file ModSelect.cc.

◆ MAX_INCOMING_INTEGER

#define MAX_INCOMING_INTEGER   256

Definition at line 108 of file ModSelect.cc.

◆ MAX_INCOMING_INTERVAL

#define MAX_INCOMING_INTERVAL   (MAX_INCOMING_INTEGER << INCOMING_FACTOR)

Definition at line 110 of file ModSelect.cc.

◆ NBBY

#define NBBY   8

Definition at line 38 of file ModSelect.cc.

Function Documentation

◆ comm_check_incoming_select_handlers()

◆ comm_select_dns_incoming()

◆ comm_select_tcp_incoming()

◆ comm_select_udp_incoming()

◆ commIncomingStats()

◆ commUpdateReadBits()

void commUpdateReadBits ( int  fd,
PF handler 
)
static

Definition at line 722 of file ModSelect.cc.

References global_readfds, handler(), and nreadfds.

Referenced by comm_check_incoming_select_handlers().

◆ commUpdateWriteBits()

void commUpdateWriteBits ( int  fd,
PF handler 
)
static

Definition at line 734 of file ModSelect.cc.

References global_writefds, handler(), and nwritefds.

Referenced by comm_check_incoming_select_handlers().

◆ examine_select()

static int examine_select ( fd_set *  readfds,
fd_set *  writefds 
)
static

◆ fdIsDns()

static int fdIsDns ( int  fd)
static

Definition at line 160 of file ModSelect.cc.

References DnsSocketA, and DnsSocketB.

◆ fdIsTcpListener()

static int fdIsTcpListener ( int  fd)
static

Definition at line 172 of file ModSelect.cc.

References HttpPortList.

◆ fdIsUdpListener()

static int fdIsUdpListener ( int  fd)
static

Definition at line 148 of file ModSelect.cc.

References Comm::Connection::fd, icpIncomingConn, and icpOutgoingConn.

Variable Documentation

◆ commIncomingStats

OBJH commIncomingStats
static

Definition at line 48 of file ModSelect.cc.

◆ dns_io_events

int dns_io_events = 0
static

Definition at line 112 of file ModSelect.cc.

Referenced by comm_select_dns_incoming().

◆ global_readfds

fd_set global_readfds
static

Definition at line 55 of file ModSelect.cc.

Referenced by commUpdateReadBits().

◆ global_writefds

fd_set global_writefds
static

Definition at line 56 of file ModSelect.cc.

Referenced by commUpdateWriteBits().

◆ incoming_dns_interval

int incoming_dns_interval = 16 << INCOMING_FACTOR
static

Definition at line 115 of file ModSelect.cc.

Referenced by comm_select_dns_incoming(), and commIncomingStats().

◆ incoming_tcp_interval

int incoming_tcp_interval = 16 << INCOMING_FACTOR
static

Definition at line 116 of file ModSelect.cc.

Referenced by comm_select_tcp_incoming(), and commIncomingStats().

◆ incoming_udp_interval

int incoming_udp_interval = 16 << INCOMING_FACTOR
static

Definition at line 114 of file ModSelect.cc.

Referenced by comm_select_udp_incoming(), and commIncomingStats().

◆ MAX_POLL_TIME

int MAX_POLL_TIME = 1000
static

Definition at line 32 of file ModSelect.cc.

◆ nreadfds

int nreadfds
static

Definition at line 57 of file ModSelect.cc.

Referenced by commUpdateReadBits().

◆ nwritefds

int nwritefds
static

Definition at line 58 of file ModSelect.cc.

Referenced by commUpdateWriteBits().

◆ tcp_io_events

int tcp_io_events = 0
static

Definition at line 113 of file ModSelect.cc.

Referenced by comm_select_tcp_incoming().

◆ udp_io_events

int udp_io_events = 0
static

Definition at line 111 of file ModSelect.cc.

Referenced by comm_select_udp_incoming().

◆ zero_tv

struct timeval zero_tv
static

Definition at line 54 of file ModSelect.cc.

Referenced by comm_check_incoming_select_handlers().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors