ModPoll.cc File Reference
#include "squid.h"
#include "anyp/PortCfg.h"
#include "comm/Connection.h"
#include "comm/Loops.h"
#include "fd.h"
#include "fde.h"
#include "globals.h"
#include "ICP.h"
#include "mgr/Registration.h"
#include "SquidConfig.h"
#include "StatCounters.h"
#include "Store.h"
#include <cerrno>
Include dependency graph for ModPoll.cc:

Go to the source code of this file.

Macros

#define POLLRDNORM   POLLIN
 
#define POLLWRNORM   POLLOUT
 
#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 fdIsTcpListen (int fd)
 
static int fdIsUdpListen (int fd)
 
static int fdIsDns (int fd)
 
static int comm_check_incoming_poll_handlers (int nfds, int *fds)
 
static void comm_poll_dns_incoming (void)
 
static void comm_poll_udp_incoming (void)
 
static void comm_poll_tcp_incoming (void)
 
static void commPollRegisterWithCacheManager (void)
 
static void commIncomingStats (StoreEntry *sentry)
 

Variables

static int MAX_POLL_TIME = 1000
 
static OBJH commIncomingStats
 
static int udp_io_events = 0
 I/O events passed since last UDP receiver socket poll. More...
 
static int dns_io_events = 0
 I/O events passed since last DNS socket poll. More...
 
static int tcp_io_events = 0
 I/O events passed since last TCP listening socket poll. More...
 
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 ModPoll.cc.

◆ commCheckTcpIncoming

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

Definition at line 119 of file ModPoll.cc.

◆ commCheckUdpIncoming

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

Definition at line 117 of file ModPoll.cc.

◆ FD_MASK_BITS

#define FD_MASK_BITS   (FD_MASK_BYTES*NBBY)

Definition at line 50 of file ModPoll.cc.

◆ FD_MASK_BYTES

#define FD_MASK_BYTES   sizeof(fd_mask)

Definition at line 49 of file ModPoll.cc.

◆ howmany

#define howmany (   x,
 
)    (((x)+((y)-1))/(y))

Definition at line 44 of file ModPoll.cc.

◆ INCOMING_FACTOR

#define INCOMING_FACTOR   5

Definition at line 109 of file ModPoll.cc.

◆ MAX_INCOMING_INTEGER

#define MAX_INCOMING_INTEGER   256

Definition at line 108 of file ModPoll.cc.

◆ MAX_INCOMING_INTERVAL

#define MAX_INCOMING_INTERVAL   (MAX_INCOMING_INTEGER << INCOMING_FACTOR)

Definition at line 110 of file ModPoll.cc.

◆ NBBY

#define NBBY   8

Definition at line 47 of file ModPoll.cc.

◆ POLLRDNORM

#define POLLRDNORM   POLLIN

Definition at line 34 of file ModPoll.cc.

◆ POLLWRNORM

#define POLLWRNORM   POLLOUT

Definition at line 37 of file ModPoll.cc.

Function Documentation

◆ comm_check_incoming_poll_handlers()

◆ comm_poll_dns_incoming()

◆ comm_poll_tcp_incoming()

◆ comm_poll_udp_incoming()

◆ commIncomingStats()

◆ commPollRegisterWithCacheManager()

static void commPollRegisterWithCacheManager ( void  )
static

Definition at line 586 of file ModPoll.cc.

References commIncomingStats, and Mgr::RegisterAction().

◆ fdIsDns()

static int fdIsDns ( int  fd)
static

Definition at line 158 of file ModPoll.cc.

References DnsSocketA, and DnsSocketB.

◆ fdIsTcpListen()

static int fdIsTcpListen ( int  fd)
static

Definition at line 170 of file ModPoll.cc.

References HttpPortList.

◆ fdIsUdpListen()

static int fdIsUdpListen ( int  fd)
static

Definition at line 146 of file ModPoll.cc.

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

Variable Documentation

◆ commIncomingStats

OBJH commIncomingStats
static

Definition at line 56 of file ModPoll.cc.

Referenced by commPollRegisterWithCacheManager().

◆ dns_io_events

int dns_io_events = 0
static

Definition at line 112 of file ModPoll.cc.

Referenced by comm_poll_dns_incoming().

◆ incoming_dns_interval

int incoming_dns_interval = 16 << INCOMING_FACTOR
static

Definition at line 115 of file ModPoll.cc.

Referenced by comm_poll_dns_incoming(), and commIncomingStats().

◆ incoming_tcp_interval

int incoming_tcp_interval = 16 << INCOMING_FACTOR
static

Definition at line 116 of file ModPoll.cc.

Referenced by comm_poll_tcp_incoming(), and commIncomingStats().

◆ incoming_udp_interval

int incoming_udp_interval = 16 << INCOMING_FACTOR
static

Definition at line 114 of file ModPoll.cc.

Referenced by comm_poll_udp_incoming(), and commIncomingStats().

◆ MAX_POLL_TIME

int MAX_POLL_TIME = 1000
static

Definition at line 41 of file ModPoll.cc.

◆ tcp_io_events

int tcp_io_events = 0
static

Definition at line 113 of file ModPoll.cc.

Referenced by comm_poll_tcp_incoming().

◆ udp_io_events

int udp_io_events = 0
static

Definition at line 111 of file ModPoll.cc.

Referenced by comm_poll_udp_incoming().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors