#include "squid.h"
#include "auth/UserRequest.h"
#include "CachePeer.h"
#include "globals.h"
#include "HttpRequest.h"
#include "mgr/Registration.h"
#include "neighbors.h"
#include "peer_userhash.h"
#include "PeerSelectState.h"
#include "SquidConfig.h"
#include "Store.h"
#include <cmath>

Go to the source code of this file.
Macros | |
#define | ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n)))) |
Functions | |
static void | peerUserHashRegisterWithCacheManager (void) |
static int | peerSortWeight (const void *a, const void *b) |
void | peerUserHashInit (void) |
CachePeer * | peerUserHashSelectParent (PeerSelector *ps) |
static void | peerUserHashCachemgr (StoreEntry *sentry) |
Variables | |
static int | n_userhash_peers = 0 |
static CachePeer ** | userhash_peers = nullptr |
static OBJH | peerUserHashCachemgr |
Macro Definition Documentation
◆ ROTATE_LEFT
#define ROTATE_LEFT | ( | x, | |
n | |||
) | (((x) << (n)) | ((x) >> (32-(n)))) |
Definition at line 28 of file peer_userhash.cc.
Function Documentation
◆ peerSortWeight()
|
static |
Definition at line 36 of file peer_userhash.cc.
References CachePeer::weight.
Referenced by peerUserHashInit().
◆ peerUserHashCachemgr()
|
static |
Definition at line 204 of file peer_userhash.cc.
References Config, CachePeer::fetches, CachePeer::name, CachePeer::next, SquidConfig::peers, CachePeer::stats, storeAppendPrintf(), and CachePeer::userhash.
◆ peerUserHashInit()
void peerUserHashInit | ( | void | ) |
Definition at line 44 of file peer_userhash.cc.
References assert, cbdataReference, cbdataReferenceDone, Config, double, int, n_userhash_peers, CachePeer::name, CachePeer::next, CachePeer::options, PEER_PARENT, SquidConfig::peers, peerSortWeight(), peerUserHashRegisterWithCacheManager(), ROTATE_LEFT, safe_free, CachePeer::type, CachePeer::userhash, userhash_peers, CachePeer::weight, and xcalloc().
Referenced by serverConnectionsOpen().
◆ peerUserHashRegisterWithCacheManager()
|
static |
Definition at line 144 of file peer_userhash.cc.
References peerUserHashCachemgr, and Mgr::RegisterAction().
Referenced by peerUserHashInit().
◆ peerUserHashSelectParent()
CachePeer * peerUserHashSelectParent | ( | PeerSelector * | ps | ) |
Definition at line 151 of file peer_userhash.cc.
References assert, HttpRequest::auth_user_request, debugs, n_userhash_peers, peerHTTPOkay(), PeerSelector::request, ROTATE_LEFT, CachePeer::userhash, userhash_peers, and Auth::UserRequest::username().
Referenced by PeerSelector::selectSomeParent().
Variable Documentation
◆ n_userhash_peers
|
static |
Definition at line 30 of file peer_userhash.cc.
Referenced by peerUserHashInit(), and peerUserHashSelectParent().
◆ peerUserHashCachemgr
|
static |
Definition at line 32 of file peer_userhash.cc.
Referenced by peerUserHashRegisterWithCacheManager().
◆ userhash_peers
|
static |
Definition at line 31 of file peer_userhash.cc.
Referenced by peerUserHashInit(), and peerUserHashSelectParent().