icp_v2.cc File Reference
#include "squid.h"
#include "AccessLogEntry.h"
#include "acl/Acl.h"
#include "acl/FilledChecklist.h"
#include "base/AsyncCallbacks.h"
#include "client_db.h"
#include "comm.h"
#include "comm/Connection.h"
#include "comm/Loops.h"
#include "fd.h"
#include "HttpRequest.h"
#include "icmp/net_db.h"
#include "ICP.h"
#include "ip/Address.h"
#include "ip/tools.h"
#include "ipc/StartListening.h"
#include "ipcache.h"
#include "md5.h"
#include "multicast.h"
#include "neighbors.h"
#include "refresh.h"
#include "rfc1738.h"
#include "SquidConfig.h"
#include "StatCounters.h"
#include "Store.h"
#include "store_key_md5.h"
#include "tools.h"
#include "wordlist.h"
#include <cerrno>
Include dependency graph for icp_v2.cc:

Go to the source code of this file.

Classes

class  DelayedUdpSend
 a delayed icpUdpSend() call More...
 
class  ICP2State
 

Macros

#define N_QUERIED_KEYS   8192
 
#define N_QUERIED_KEYS_MASK   8191
 

Functions

static void icpIncomingConnectionOpened (Ipc::StartListeningAnswer &)
 
static void icpLogIcp (const Ip::Address &caddr, const LogTags_ot logcode, const int len, const char *url, int delay, AccessLogEntry::Pointer &al)
 updates ALE (if any) and logs the transaction (if needed) More...
 
static void icpHandleIcpV2 (int, Ip::Address &, char *, int)
 
static void icpCount (void *, int, size_t, int)
 
static LogTags_ot icpLogFromICPCode (icp_opcode)
 
static int icpUdpSend (int fd, const Ip::Address &to, icp_common_t *msg, int delay, AccessLogEntryPointer al)
 
static void icpSyncAle (AccessLogEntryPointer &al, const Ip::Address &caddr, const char *url, int len, int delay)
 
static void icpUdpSendQueue (int fd, void *)
 
icp_opcode icpGetCommonOpcode ()
 
void icpCreateAndSend (icp_opcode opcode, int flags, char const *url, int reqnum, int pad, int fd, const Ip::Address &from, AccessLogEntry::Pointer al)
 
void icpDenyAccess (Ip::Address &from, char *url, int reqnum, int fd)
 
bool icpAccessAllowed (Ip::Address &from, HttpRequest *icp_request)
 
HttpRequesticpGetRequest (char *url, int reqnum, int fd, Ip::Address &from)
 
static void doV2Query (int fd, Ip::Address &from, char *buf, icp_common_t header)
 
void icpHandleUdp (int sock, void *)
 
void icpOpenPorts (void)
 
void icpConnectionShutdown (void)
 
void icpClosePorts (void)
 
int icpSetCacheKey (const cache_key *key)
 
const cache_keyicpGetCacheKey (const char *url, int reqnum)
 

Variables

static DelayedUdpSendIcpQueueHead = nullptr
 
static DelayedUdpSendIcpQueueTail = nullptr
 
Comm::ConnectionPointer icpIncomingConn = nullptr
 
Comm::ConnectionPointer icpOutgoingConn = nullptr
 
static cache_key queried_keys [N_QUERIED_KEYS][SQUID_MD5_DIGEST_LENGTH]
 

Macro Definition Documentation

◆ N_QUERIED_KEYS

#define N_QUERIED_KEYS   8192

Definition at line 856 of file icp_v2.cc.

◆ N_QUERIED_KEYS_MASK

#define N_QUERIED_KEYS_MASK   8191

Definition at line 857 of file icp_v2.cc.

Function Documentation

◆ doV2Query()

◆ icpHandleUdp()

◆ icpIncomingConnectionOpened()

◆ icpLogFromICPCode()

◆ icpSyncAle()

◆ icpUdpSend()

static int icpUdpSend ( int  fd,
const Ip::Address to,
icp_common_t msg,
int  delay,
AccessLogEntryPointer  al 
)
static

Variable Documentation

◆ queried_keys

Definition at line 858 of file icp_v2.cc.

Referenced by icpGetCacheKey(), and icpSetCacheKey().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors