#include "enums.h"
#include "http/forward.h"
#include "HttpHeader.h"
#include "ip/forward.h"
#include "store_key_md5.h"
![](htcp_8h__incl.png)
![](htcp_8h__dep__incl.png)
Go to the source code of this file.
Classes | |
class | HtcpReplyData |
struct | HtcpReplyData::cto_t |
Functions | |
void | neighborsHtcpReply (const cache_key *, HtcpReplyData *, const Ip::Address &) |
void | htcpOpenPorts (void) |
int | htcpQuery (StoreEntry *e, HttpRequest *req, CachePeer *p) |
void | htcpClear (StoreEntry *e, HttpRequest *req, const HttpRequestMethod &method, CachePeer *p, htcp_clr_reason reason) |
void | htcpSocketShutdown (void) |
void | htcpClosePorts (void) |
Function Documentation
◆ htcpClear()
void htcpClear | ( | StoreEntry * | e, |
HttpRequest * | req, | ||
const HttpRequestMethod & | method, | ||
CachePeer * | p, | ||
htcp_clr_reason | reason | ||
) |
Definition at line 1564 of file htcp.cc.
References MemBuf::buf, SBuf::c_str(), HttpHeader::clean(), MemBuf::clean(), debugs, HttpRequest::effectiveRequestUri(), hoRequest, HTCP_CLR, HTCP_CLR_INVALIDATION, CachePeer::htcp_oldsquid, htcpBuildPacket(), htcpIncomingConn, htcpSend(), Http::Message::http_ver, HttpStateData::httpBuildRequestHeader(), HttpRequestMethod::image(), CachePeer::in_addr, MemBuf::init(), Comm::IsConnOpen(), AnyP::ProtocolVersion::major, HttpRequest::method, htcpSpecifier::method, AnyP::ProtocolVersion::minor, msg_id_counter, old_squid_format, CachePeer::options, HttpHeader::packInto(), htcpStuff::reason, htcpSpecifier::req_hdrs, htcpSpecifier::request, RR_REQUEST, htcpStuff::S, htcpSpecifier::uri, and htcpSpecifier::version.
Referenced by neighborsHtcpClear().
◆ htcpClosePorts()
void htcpClosePorts | ( | void | ) |
Definition at line 1645 of file htcp.cc.
References DBG_IMPORTANT, debugs, htcpOutgoingConn, htcpSocketShutdown(), and Comm::Connection::local.
Referenced by mainReconfigureStart(), and SquidShutdown().
◆ htcpOpenPorts()
void htcpOpenPorts | ( | void | ) |
Definition at line 1442 of file htcp.cc.
References SquidConfig::Addrs, asyncCallbackFun, comm_open_listener(), COMM_SELECT_READ, Config, DBG_CRITICAL, DBG_IMPORTANT, debugs, Ip::EnableIpv6, enter_suid(), fatal(), Comm::Connection::fd, Ipc::fdnInHtcpSocket, SquidConfig::htcp, htcpIncomingConn, htcpIncomingConnectionOpened(), htcpOutgoingConn, htcpRecv(), Important, IPV6_SPECIAL_SPLITSTACK, Ip::Address::isAnyAddr(), Comm::IsConnOpen(), Ip::Address::isNoAddr(), leave_suid(), Comm::Connection::local, SquidConfig::Port, Ip::Address::port(), Ip::Address::setIPv4(), Comm::SetSelect(), Ipc::StartListening(), SquidConfig::udp_incoming, and SquidConfig::udp_outgoing.
Referenced by serverConnectionsOpen().
◆ htcpQuery()
int htcpQuery | ( | StoreEntry * | e, |
HttpRequest * | req, | ||
CachePeer * | p | ||
) |
Generate and Send an HTCP query to the specified peer.
- Parameters
-
e req p
- Return values
-
1 Successfully sent request. 0 Unable to send request at this time. HTCP may be shutting down or starting up. Don't wait for a reply or count in stats as sent. -1 Error sending request.
Definition at line 1515 of file htcp.cc.
References MemBuf::buf, SBuf::c_str(), HttpHeader::clean(), MemBuf::clean(), debugs, hoRequest, CachePeer::htcp_oldsquid, HTCP_TST, htcpBuildPacket(), htcpIncomingConn, htcpSend(), Http::Message::http_ver, HttpStateData::httpBuildRequestHeader(), HttpRequestMethod::image(), CachePeer::in_addr, MemBuf::init(), Comm::IsConnOpen(), hash_link::key, AnyP::ProtocolVersion::major, HttpRequest::method, htcpSpecifier::method, AnyP::ProtocolVersion::minor, htcpStuff::msg_id, msg_id_counter, N_QUERIED_KEYS, old_squid_format, CachePeer::options, HttpHeader::packInto(), queried_addr, queried_id, queried_keys, htcpSpecifier::req_hdrs, RR_REQUEST, htcpStuff::S, storeKeyCopy(), storeKeyText(), htcpSpecifier::uri, StoreEntry::url(), and htcpSpecifier::version.
Referenced by neighborsUdpPing().
◆ htcpSocketShutdown()
void htcpSocketShutdown | ( | void | ) |
Definition at line 1616 of file htcp.cc.
References assert, COMM_SELECT_READ, DBG_IMPORTANT, debugs, Comm::Connection::fd, htcpIncomingConn, htcpOutgoingConn, Comm::IsConnOpen(), Comm::Connection::local, and Comm::SetSelect().
Referenced by htcpClosePorts(), and serverConnectionsClose().
◆ neighborsHtcpReply()
void neighborsHtcpReply | ( | const cache_key * | , |
HtcpReplyData * | , | ||
const Ip::Address & | |||
) |
Definition at line 1601 of file neighbors.cc.
References DBG_IMPORTANT, debugs, EBIT_TEST, ENTRY_DISPATCHED, Store::Controller::findCallbackXXX(), StoreEntry::flags, HtcpReplyData::hit, ignoreMulticastReply(), MemObject::ircb_data, StoreEntry::locked(), StoreEntry::mem_obj, neighborAliveHtcp(), neighborCountIgnored(), neighborType(), neighborUpdateRtt(), PEER_NONE, MemObject::ping_reply_callback, StoreEntry::ping_status, PING_WAITING, AnyP::PROTO_HTCP, MemObject::request, Store::Root(), storeKeyText(), HttpRequest::url, and whichPeer().
Referenced by htcpHandleTstResponse().
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