#include "enums.h"
#include "http/forward.h"
#include "HttpHeader.h"
#include "ip/forward.h"
#include "store_key_md5.h"
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, htcpSpecifier::method, HttpRequest::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, sb, 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, Ip::Address::port(), SquidConfig::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, 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, htcpSpecifier::method, HttpRequest::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, sb, 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 * | key, |
HtcpReplyData * | htcp, | ||
const Ip::Address & | from | ||
) |
Definition at line 1599 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().