#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"
![](FwdState_8h__incl.png)
![](FwdState_8h__dep__incl.png)
Go to the source code of this file.
Classes | |
class | PeeringActivityTimer |
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 32 of file FwdState.h.
◆ ResolvedPeersPointer
typedef RefCount<ResolvedPeers> ResolvedPeersPointer |
Definition at line 36 of file FwdState.h.
Function Documentation
◆ aclFindNfMarkConfig()
Ip::NfMarkConfig aclFindNfMarkConfig | ( | acl_nfmark * | , |
ACLChecklist * | |||
) |
Definition at line 1470 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 * | , |
ACLChecklist * | |||
) |
Definition at line 1458 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 1560 of file FwdState.cc.
References debugs, GetNfmarkToServer(), GetTosToServer(), Comm::Connection::local, Comm::Connection::nfmark, and Comm::Connection::tos.
Referenced by HappyConnOpener::openFreshConnection(), PeerPoolMgr::openNewConnection(), and ResetMarkingsToServer().
◆ getOutgoingAddress()
void getOutgoingAddress | ( | HttpRequest * | , |
const Comm::ConnectionPointer & | |||
) |
Definition at line 1481 of file FwdState.cc.
References SquidConfig::accessList, Acl::Answer::allowed(), HttpRequest::client_addr, COMM_DOBIND, COMM_TRANSPARENT, Config, ACLFilledChecklist::dst_addr, ACLFilledChecklist::dst_peer_name, ACLChecklist::fastCheck(), HttpRequest::flags, Comm::Connection::flags, Comm::Connection::getPeer(), HttpRequest::indirect_client_addr, Ip::Address::isAnyAddr(), Ip::Address::isIPv4(), Comm::Connection::local, CachePeer::name, Acl::Address::next, CachePeer::no_tproxy, SquidConfig::onoff, CachePeer::options, SquidConfig::outgoing_address, Ip::Address::port(), Comm::Connection::remote, Ip::Address::setIPv4(), RequestFlags::spoofClientIp, and SquidConfig::tproxy_uses_indirect_client.
Referenced by Adaptation::Icap::Xaction::dnsLookupDone(), PeerSelector::handlePath(), PeerPoolMgr::openNewConnection(), and peerProbeConnect().
◆ ResetMarkingsToServer()
void ResetMarkingsToServer | ( | HttpRequest * | , |
Comm::Connection & | |||
) |
Recomputes and applies TOS value and Netfilter to the outgoing connection. Updates both the given Connection object and the transport connection.
Definition at line 1569 of file FwdState.cc.
References GetMarkingsToServer(), Comm::Connection::nfmark, Ip::Qos::setSockNfmark(), Ip::Qos::setSockTos(), and Comm::Connection::tos.
Referenced by TunnelStateData::connectDone(), and FwdState::syncWithServerConn().
Variable Documentation
◆ fwdPconnPool
PconnPool* fwdPconnPool |
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().
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products