/* * Copyright (C) 1996-2023 The Squid Software Foundation and contributors * * Squid software is distributed under GPLv2+ license and includes * contributions from numerous individuals and organizations. * Please see the COPYING and CONTRIBUTORS files for details. */ #ifndef SQUID_HTTPHIERARCHYLOGENTRY_H #define SQUID_HTTPHIERARCHYLOGENTRY_H #include "comm/Connection.h" #include "enums.h" #include "hier_code.h" #include "http/StatusCode.h" #include "lookup_t.h" #include "PingData.h" #include "rfc2181.h" /// Maintains peer selection details and peer I/O stats. /// Here, "peer" is an origin server or CachePeer. class HierarchyLogEntry { public: HierarchyLogEntry(); /// Start recording new origin server or cache peer connection details. /// Call this when trying to connect to a peer. void resetPeerNotes(const Comm::ConnectionPointer &server, const char *requestedHost); /// Account for a TCP peer read. Maintains peer response time stats (%