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.


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


#define N_QUERIED_KEYS   8192
#define N_QUERIED_KEYS_MASK   8191


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)


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


#define N_QUERIED_KEYS   8192

Definition at line 856 of file icp_v2.cc.


#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 

Variable Documentation

◆ queried_keys

Definition at line 858 of file icp_v2.cc.

Referenced by icpGetCacheKey(), and icpSetCacheKey().






Web Site Translations