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

Go to the source code of this file.


class  ICP2State


#define N_QUERIED_KEYS   8192
#define N_QUERIED_KEYS_MASK   8191


static void icpIncomingConnectionOpened (const Comm::ConnectionPointer &conn, int errNo)
static void icpLogIcp (const Ip::Address &caddr, const LogTags &logcode, int len, const char *url, int delay, AccessLogEntry::Pointer al)
static void icpHandleIcpV2 (int, Ip::Address &, char *, int)
static void icpCount (void *, int, size_t, int)
static void icpSyncAle (AccessLogEntryPointer &al, const Ip::Address &caddr, LogTags logcode, const char *url, int len, int delay)
void icpUdpSendQueue (int fd, void *)
int icpUdpSend (int fd, const Ip::Address &to, icp_common_t *msg, const LogTags &logcode, int delay, AccessLogEntryPointer al)
icp_opcode icpGetCommonOpcode ()
LogTags icpLogFromICPCode (icp_opcode opcode)
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)
char const * icpGetUrlToSend (char *url)
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 icpUdpDataIcpQueueHead = NULL
static icpUdpDataIcpQueueTail = NULL
Comm::ConnectionPointer icpIncomingConn = NULL
Comm::ConnectionPointer icpOutgoingConn = NULL
static cache_key queried_keys [N_QUERIED_KEYS][SQUID_MD5_DIGEST_LENGTH]

Macro Definition Documentation

#define N_QUERIED_KEYS   8192

Definition at line 827 of file icp_v2.cc.

#define N_QUERIED_KEYS_MASK   8191

Definition at line 828 of file icp_v2.cc.

Referenced by icpGetCacheKey(), and icpSetCacheKey().

Function Documentation

char const* icpGetUrlToSend ( char *  url)

Definition at line 440 of file icp_v2.cc.

References rfc1738_escape, and w_space.

static void icpSyncAle ( AccessLogEntryPointer al,
const Ip::Address caddr,
LogTags  logcode,
const char *  url,
int  len,
int  delay 

Definition at line 62 of file icp_v2.cc.

References current_time, ICP_QUERY, and len.

Referenced by ICPState::fillChecklist(), and icpLogIcp().

Variable Documentation

Definition at line 829 of file icp_v2.cc.






Web Site Translations