#include "base/forward.h"
#include "base/JobWait.h"
#include "base/RefCount.h"
#include "clients/forward.h"
#include "comm.h"
#include "comm/Connection.h"
#include "error/forward.h"
#include "fde.h"
#include "http/StatusCode.h"
#include "ip/Address.h"
#include "ip/forward.h"
#include "PeerSelectState.h"
#include "ResolvedPeers.h"
#include "security/forward.h"
#include "ssl/support.h"
Go to the source code of this file.
Classes | |
class | FwdState |
Typedefs | |
typedef RefCount< AccessLogEntry > | AccessLogEntryPointer |
typedef RefCount< ResolvedPeers > | ResolvedPeersPointer |
Functions | |
void | GetMarkingsToServer (HttpRequest *request, Comm::Connection &conn) |
void | ResetMarkingsToServer (HttpRequest *, Comm::Connection &) |
tos_t | aclMapTOS (acl_tos *, ACLChecklist *) |
Checks for a TOS value to apply depending on the ACL. More... | |
Ip::NfMarkConfig | aclFindNfMarkConfig (acl_nfmark *, ACLChecklist *) |
Checks for a netfilter mark value to apply depending on the ACL. More... | |
void | getOutgoingAddress (HttpRequest *, const Comm::ConnectionPointer &) |
Variables | |
PconnPool * | fwdPconnPool |
a collection of previously used persistent Squid-to-peer HTTP(S) connections More... | |
Typedef Documentation
◆ AccessLogEntryPointer
typedef RefCount<AccessLogEntry> AccessLogEntryPointer |
Definition at line 33 of file FwdState.h.
◆ ResolvedPeersPointer
typedef RefCount<ResolvedPeers> ResolvedPeersPointer |
Definition at line 37 of file FwdState.h.
Function Documentation
◆ aclFindNfMarkConfig()
Ip::NfMarkConfig aclFindNfMarkConfig | ( | acl_nfmark * | head, |
ACLChecklist * | ch | ||
) |
Definition at line 1465 of file FwdState.cc.
References Acl::Answer::allowed(), ACLChecklist::fastCheck(), head, and squidaio_request_t::next.
Referenced by ClientHttpRequest::doCallouts(), and GetNfmarkToServer().
◆ aclMapTOS()
tos_t aclMapTOS | ( | acl_tos * | head, |
ACLChecklist * | ch | ||
) |
Definition at line 1453 of file FwdState.cc.
References Acl::Answer::allowed(), ACLChecklist::fastCheck(), head, and squidaio_request_t::next.
Referenced by ClientHttpRequest::doCallouts(), and GetTosToServer().
◆ GetMarkingsToServer()
void GetMarkingsToServer | ( | HttpRequest * | request, |
Comm::Connection & | conn | ||
) |
Sets initial TOS value and Netfilter for the future outgoing connection. Updates the given Connection object, not the future transport connection.
Definition at line 1555 of file FwdState.cc.
References conn, debugs, GetNfmarkToServer(), and GetTosToServer().
Referenced by HappyConnOpener::openFreshConnection(), PeerPoolMgr::openNewConnection(), and ResetMarkingsToServer().
◆ getOutgoingAddress()
void getOutgoingAddress | ( | HttpRequest * | request, |
const Comm::ConnectionPointer & | conn | ||
) |
Definition at line 1476 of file FwdState.cc.
References SquidConfig::accessList, Acl::Answer::allowed(), HttpRequest::client_addr, COMM_DOBIND, COMM_TRANSPARENT, Config, conn, ACLFilledChecklist::dst_addr, ACLFilledChecklist::dst_peer_name, ACLChecklist::fastCheck(), HttpRequest::flags, HttpRequest::indirect_client_addr, Acl::Address::next, SquidConfig::onoff, SquidConfig::outgoing_address, RequestFlags::spoofClientIp, and SquidConfig::tproxy_uses_indirect_client.
Referenced by Adaptation::Icap::Xaction::dnsLookupDone(), PeerSelector::handlePath(), PeerPoolMgr::openNewConnection(), and peerProbeConnect().
◆ ResetMarkingsToServer()
void ResetMarkingsToServer | ( | HttpRequest * | request, |
Comm::Connection & | conn | ||
) |
Recomputes and applies TOS value and Netfilter to the outgoing connection. Updates both the given Connection object and the transport connection.
Definition at line 1564 of file FwdState.cc.
References conn, GetMarkingsToServer(), Ip::Qos::setSockNfmark(), and Ip::Qos::setSockTos().
Referenced by TunnelStateData::connectDone(), and FwdState::syncWithServerConn().
Variable Documentation
◆ fwdPconnPool
|
extern |
Definition at line 78 of file FwdState.cc.
Referenced by FwdState::closePendingConnection(), FwdState::closeServerConnection(), Http::Tunneler::countFailingConnection(), Security::PeerConnector::countFailingConnection(), HttpStateData::processReplyBody(), HappyConnOpener::reuseOldConnection(), and FwdState::serverClosed().