FwdState.cc File Reference
#include "squid.h"
#include "AccessLogEntry.h"
#include "acl/Address.h"
#include "acl/FilledChecklist.h"
#include "acl/Gadgets.h"
#include "anyp/PortCfg.h"
#include "CacheManager.h"
#include "CachePeer.h"
#include "client_side.h"
#include "clients/forward.h"
#include "comm/Connection.h"
#include "comm/ConnOpener.h"
#include "comm/Loops.h"
#include "CommCalls.h"
#include "errorpage.h"
#include "event.h"
#include "fd.h"
#include "fde.h"
#include "FwdState.h"
#include "globals.h"
#include "gopher.h"
#include "hier_code.h"
#include "http.h"
#include "http/Stream.h"
#include "HttpReply.h"
#include "HttpRequest.h"
#include "icmp/net_db.h"
#include "internal.h"
#include "ip/Intercept.h"
#include "ip/NfMarkConfig.h"
#include "ip/QosConfig.h"
#include "ip/tools.h"
#include "MemObject.h"
#include "mgr/Registration.h"
#include "neighbors.h"
#include "pconn.h"
#include "PeerPoolMgr.h"
#include "security/BlindPeerConnector.h"
#include "SquidConfig.h"
#include "SquidTime.h"
#include "ssl/PeekingPeerConnector.h"
#include "Store.h"
#include "StoreClient.h"
#include "urn.h"
#include "whois.h"
#include "ssl/cert_validate_message.h"
#include "ssl/Config.h"
#include "ssl/ErrorDetail.h"
#include "ssl/helper.h"
#include "ssl/ServerBump.h"
#include "ssl/support.h"
#include <cerrno>

Go to the source code of this file.

Classes

class  FwdStatePeerAnswerDialer
 

Macros

#define MAX_FWD_STATS_IDX   9
 

Functions

static time_t diffOrZero (const time_t larger, const time_t smaller)
 
static void fwdServerClosedWrapper (const CommCloseCbParams &params)
 
void fwdConnectDoneWrapper (const Comm::ConnectionPointer &conn, Comm::Flag status, int xerrno, void *data)
 
static void fwdStats (StoreEntry *s)
 
tos_t aclMapTOS (acl_tos *head, ACLChecklist *ch)
 Checks for a TOS value to apply depending on the ACL. More...
 
Ip::NfMarkConfig aclFindNfMarkConfig (acl_nfmark *head, ACLChecklist *ch)
 Checks for a netfilter mark value to apply depending on the ACL. More...
 
void getOutgoingAddress (HttpRequest *request, Comm::ConnectionPointer conn)
 
tos_t GetTosToServer (HttpRequest *request)
 
nfmark_t GetNfmarkToServer (HttpRequest *request)
 
void GetMarkingsToServer (HttpRequest *request, Comm::Connection &conn)
 Sets initial TOS value and Netfilter for the future outgoing connection. More...
 

Variables

static CLCB fwdServerClosedWrapper
 
static CNCB fwdConnectDoneWrapper
 
static OBJH fwdStats
 
static int FwdReplyCodes [MAX_FWD_STATS_IDX+1][Http::scInvalidHeader+1]
 
static PconnPoolfwdPconnPool = new PconnPool("server-peers", NULL)
 

Macro Definition Documentation

◆ MAX_FWD_STATS_IDX

#define MAX_FWD_STATS_IDX   9

Definition at line 74 of file FwdState.cc.

Referenced by fwdStats(), and FwdState::logReplyStatus().

Function Documentation

◆ aclFindNfMarkConfig()

◆ aclMapTOS()

◆ diffOrZero()

static time_t diffOrZero ( const time_t  larger,
const time_t  smaller 
)
inlinestatic

subtracts time_t values, returning zero if smaller exceeds the larger value time_t might be unsigned so we need to be careful when subtracting times...

Definition at line 403 of file FwdState.cc.

Referenced by FwdState::ForwardTimeout().

◆ fwdConnectDoneWrapper()

void fwdConnectDoneWrapper ( const Comm::ConnectionPointer conn,
Comm::Flag  status,
int  xerrno,
void *  data 
)

Definition at line 596 of file FwdState.cc.

References FwdState::connectDone().

◆ fwdServerClosedWrapper()

static void fwdServerClosedWrapper ( const CommCloseCbParams params)
static

◆ fwdStats()

static void fwdStats ( StoreEntry s)
static

◆ GetMarkingsToServer()

◆ GetNfmarkToServer()

nfmark_t GetNfmarkToServer ( HttpRequest request)

Returns the Netfilter mark value that we should be setting on the connection to the server, based on the ACL.

Definition at line 1361 of file FwdState.cc.

References aclFindNfMarkConfig(), NULL, and Ip::Qos::TheConfig.

Referenced by GetMarkingsToServer(), and FwdState::syncWithServerConn().

◆ getOutgoingAddress()

◆ GetTosToServer()

tos_t GetTosToServer ( HttpRequest request)

Returns the TOS value that we should be setting on the connection to the server, based on the ACL.

Definition at line 1354 of file FwdState.cc.

References aclMapTOS(), NULL, and Ip::Qos::TheConfig.

Referenced by GetMarkingsToServer(), and FwdState::syncWithServerConn().

Variable Documentation

◆ fwdConnectDoneWrapper

CNCB fwdConnectDoneWrapper
static

Definition at line 70 of file FwdState.cc.

Referenced by FwdState::connectStart().

◆ fwdPconnPool

PconnPool* fwdPconnPool = new PconnPool("server-peers", NULL)
static

Definition at line 77 of file FwdState.cc.

◆ FwdReplyCodes

int FwdReplyCodes[MAX_FWD_STATS_IDX+1][Http::scInvalidHeader+1]
static

Definition at line 75 of file FwdState.cc.

Referenced by fwdStats(), and FwdState::logReplyStatus().

◆ fwdServerClosedWrapper

CLCB fwdServerClosedWrapper
static

Definition at line 69 of file FwdState.cc.

Referenced by FwdState::connectDone(), and FwdState::connectStart().

◆ fwdStats

OBJH fwdStats
static

Definition at line 72 of file FwdState.cc.

Referenced by FwdState::RegisterWithCacheManager().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors