#include <PeerDigest.h>

Collaboration diagram for PeerDigest:

Public Member Functions

void * operator new (size_t size)
 
void operator delete (void *address)
 
void * toCbdata () noexcept
 
 PeerDigest (CachePeer *)
 
 ~PeerDigest ()
 
void noteFetchFinished (const DigestFetchState &, const char *outcomeDescription, bool sawError)
 

Public Attributes

CbcPointer< CachePeerpeer
 pointer back to peer structure, argh More...
 
CacheDigestcd = nullptr
 
const SBuf host
 copy of peer->host More...
 
const char * req_result = nullptr
 
struct {
   bool   needed = false
 
   bool   usable = false
 
   bool   requested = false
 
flags
 
struct {
   time_t   initialized = 0
 
   time_t   needed = 0
 
   time_t   next_check = 0
 
   time_t   retry_delay = 0
 
   time_t   requested = 0
 
   time_t   req_delay = 0
 
   time_t   received = 0
 
   time_t   disabled = 0
 
times
 
struct {
   CacheDigestGuessStats   guess
 
   int   used_count = 0
 
   struct {
      int   msgs = 0
 
      ByteCounter   kbytes
 
   }   sent
 
   struct {
      int   msgs = 0
 
      ByteCounter   kbytes
 
   }   recv
 
stats
 

Static Private Attributes

static cbdata_type CBDATA_PeerDigest = CBDATA_UNKNOWN
 

Detailed Description

Definition at line 74 of file PeerDigest.h.

Constructor & Destructor Documentation

◆ PeerDigest()

PeerDigest::PeerDigest ( CachePeer p)

Definition at line 64 of file peer_digest.cc.

References squid_curtime, and times.

◆ ~PeerDigest()

PeerDigest::~PeerDigest ( )

Definition at line 120 of file peer_digest.cc.

References cd, eventDelete(), eventFind(), peerDigestCheck, and times.

Member Function Documentation

◆ noteFetchFinished()

void PeerDigest::noteFetchFinished ( const DigestFetchState finishedFetch,
const char *  outcomeDescription,
bool  sawError 
)

reacts to digest transfer completion \prec DigestFetchState stats were finalized (by calling peerDigestFetchSetStats())

Definition at line 653 of file peer_digest.cc.

References DBG_IMPORTANT, debugs, host, peerDigestIncDelay(), peerDigestNewDelay(), peerDigestSetCheck(), squid_curtime, and STORE_OK.

◆ operator delete()

void PeerDigest::operator delete ( void *  address)
inline

Definition at line 76 of file PeerDigest.h.

◆ operator new()

void* PeerDigest::operator new ( size_t  size)
inline

Definition at line 76 of file PeerDigest.h.

◆ toCbdata()

void* PeerDigest::toCbdata ( )
inlinenoexcept

Definition at line 76 of file PeerDigest.h.

Member Data Documentation

◆ CBDATA_PeerDigest

cbdata_type PeerDigest::CBDATA_PeerDigest = CBDATA_UNKNOWN
staticprivate

Definition at line 76 of file PeerDigest.h.

◆ cd

CacheDigest* PeerDigest::cd = nullptr

◆ disabled

time_t PeerDigest::disabled = 0

Definition at line 106 of file PeerDigest.h.

◆ flags

struct { ... } PeerDigest::flags

◆ guess

CacheDigestGuessStats PeerDigest::guess

Definition at line 110 of file PeerDigest.h.

Referenced by peerDigestStatsReport().

◆ host

◆ initialized

time_t PeerDigest::initialized = 0

Definition at line 99 of file PeerDigest.h.

◆ kbytes

ByteCounter PeerDigest::kbytes

Definition at line 115 of file PeerDigest.h.

◆ msgs

int PeerDigest::msgs = 0

Definition at line 114 of file PeerDigest.h.

◆ needed [1/2]

bool PeerDigest::needed = false

there were requests for this digest

Definition at line 92 of file PeerDigest.h.

Referenced by peerDigestLookup(), and peerDigestNeeded().

◆ needed [2/2]

time_t PeerDigest::needed = 0

Definition at line 100 of file PeerDigest.h.

◆ next_check

time_t PeerDigest::next_check = 0

Definition at line 101 of file PeerDigest.h.

Referenced by peerDigestCheck(), and peerDigestSetCheck().

◆ peer

CbcPointer<CachePeer> PeerDigest::peer

Definition at line 86 of file PeerDigest.h.

Referenced by finishAndDeleteFetch(), peerDigestCheck(), and peerDigestRequest().

◆ received

time_t PeerDigest::received = 0

Definition at line 105 of file PeerDigest.h.

Referenced by peerDigestCheck().

◆ recv

struct { ... } PeerDigest::recv

Referenced by peerDigestStatsReport().

◆ req_delay

time_t PeerDigest::req_delay = 0

Definition at line 104 of file PeerDigest.h.

Referenced by peerDigestStatsReport().

◆ req_result

const char* PeerDigest::req_result = nullptr

text status of the last request

Definition at line 89 of file PeerDigest.h.

Referenced by peerDigestRequest(), and peerDigestStatsReport().

◆ requested [1/2]

bool PeerDigest::requested = false

in process of receiving [fresh] digest

Definition at line 94 of file PeerDigest.h.

Referenced by peerDigestCheck(), peerDigestLookup(), and peerDigestRequest().

◆ requested [2/2]

time_t PeerDigest::requested = 0

Definition at line 103 of file PeerDigest.h.

◆ retry_delay

time_t PeerDigest::retry_delay = 0

Definition at line 102 of file PeerDigest.h.

Referenced by peerDigestIncDelay(), and peerDigestStatsReport().

◆ sent

struct { ... } PeerDigest::sent

Referenced by peerDigestStatsReport().

◆ stats

struct { ... } PeerDigest::stats

Referenced by peerDigestStatsReport().

◆ times

◆ usable

bool PeerDigest::usable = false

can be used for lookups

Definition at line 93 of file PeerDigest.h.

Referenced by peerDigestLookup().

◆ used_count

int PeerDigest::used_count = 0

Definition at line 111 of file PeerDigest.h.


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous