neighbors.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9/* DEBUG: section 15 Neighbor Routines */
10
11#ifndef SQUID_NEIGHBORS_H_
12#define SQUID_NEIGHBORS_H_
13
14#include "anyp/forward.h"
15#include "enums.h"
16#include "ICP.h"
17#include "lookup_t.h"
18#include "typedefs.h" //for IRCB
19
20class HttpRequest;
22class CachePeer;
23class StoreEntry;
24class PeerSelector;
25
32 StoreEntry *,
33 IRCB * callback,
34 PeerSelector *ps,
35 int *exprep,
36 int *timeout);
37void neighborAddAcl(const char *, const char *);
38
39void neighborsUdpAck(const cache_key *, icp_common_t *, const Ip::Address &);
40void neighborAdd(const char *, const char *, int, int, int, int, int);
41void neighbors_init(void);
42#if USE_HTCP
44#endif
45
47CachePeer *findCachePeerByName(const char *);
48
52void peerClearRRStart(void);
53void peerClearRR(void);
54
55// TODO: Move, together with its many dependencies and callers, into CachePeer.
58void peerAlive(CachePeer *);
59
64int neighborUp(const CachePeer * e);
65const char *neighborTypeStr(const CachePeer * e);
66peer_t neighborType(const CachePeer *, const AnyP::Uri &);
68int peerHTTPOkay(const CachePeer *, PeerSelector *);
69
71time_t positiveTimeout(const time_t timeout);
72
74bool peerCanOpenMore(const CachePeer *p);
76bool peerHasConnAvailable(const CachePeer *p);
79
80CachePeer *whichPeer(const Ip::Address &from);
81
82#endif /* SQUID_NEIGHBORS_H_ */
83
Definition: Uri.h:31
HttpRequest * request
htcp_clr_reason
Definition: enums.h:241
peer_t
Definition: enums.h:27
lookup_t
Definition: lookup_t.h:12
peer_t neighborType(const CachePeer *, const AnyP::Uri &)
Definition: neighbors.cc:116
void peerClearRR(void)
Definition: neighbors.cc:448
const char * neighborTypeStr(const CachePeer *e)
Definition: neighbors.cc:82
void peerNoteDigestLookup(HttpRequest *request, CachePeer *p, lookup_t lookup)
Definition: neighbors.cc:869
void neighborsUdpAck(const cache_key *, icp_common_t *, const Ip::Address &)
Definition: neighbors.cc:1008
void neighborsHtcpClear(StoreEntry *, HttpRequest *, const HttpRequestMethod &, htcp_clr_reason)
Definition: neighbors.cc:1757
CachePeer * getFirstUpParent(PeerSelector *)
Definition: neighbors.cc:289
CachePeer * whichPeer(const Ip::Address &from)
Definition: neighbors.cc:97
int neighborUp(const CachePeer *e)
Definition: neighbors.cc:1142
void neighbors_init(void)
Definition: neighbors.cc:557
CachePeer * getRoundRobinParent(PeerSelector *)
Definition: neighbors.cc:314
void dump_peer_options(StoreEntry *, CachePeer *)
Definition: neighbors.cc:1461
bool peerHasConnAvailable(const CachePeer *p)
Whether the peer has idle or standby connections that can be used now.
Definition: neighbors.cc:233
void peerAlive(CachePeer *)
Definition: neighbors.cc:457
CachePeer * findCachePeerByName(const char *)
cache_peer with a given name (or nil)
Definition: neighbors.cc:1129
int neighborsCount(PeerSelector *)
Definition: neighbors.cc:274
void neighborAddAcl(const char *, const char *)
int neighborsUdpPing(HttpRequest *, StoreEntry *, IRCB *callback, PeerSelector *ps, int *exprep, int *timeout)
Definition: neighbors.cc:595
CachePeer * neighborsDigestSelect(PeerSelector *)
Definition: neighbors.cc:802
void peerNoteDigestGone(CachePeer *p)
time_t positiveTimeout(const time_t timeout)
Definition: neighbors.cc:1177
void peerClearRRStart(void)
Definition: neighbors.cc:431
bool peerCanOpenMore(const CachePeer *p)
Whether we can open new connections to the peer (e.g., despite max-conn)
Definition: neighbors.cc:224
int peerHTTPOkay(const CachePeer *, PeerSelector *)
Definition: neighbors.cc:259
void neighborAdd(const char *, const char *, int, int, int, int, int)
CachePeer * getFirstPeer(void)
Definition: neighbors.cc:510
void peerConnClosed(CachePeer *p)
Notifies peer of an associated connection closure.
Definition: neighbors.cc:248
CachePeer * getSingleParent(PeerSelector *)
lookup_t peerDigestLookup(CachePeer *p, PeerSelector *)
Definition: neighbors.cc:756
CachePeer * getNextPeer(CachePeer *)
Definition: neighbors.cc:504
CachePeer * getDefaultParent(PeerSelector *)
Definition: neighbors.cc:476
CachePeer * getWeightedRoundRobinParent(PeerSelector *)
Definition: neighbors.cc:356
unsigned char cache_key
Store key.
Definition: forward.h:29
void IRCB(CachePeer *, peer_t, AnyP::ProtocolType, void *, void *data)
Definition: typedefs.h:22

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors