XrdThrottleManager Class Reference
#include <XrdThrottleManager.hh>
List of all members.
Public Member Functions |
void | Init () |
void | Apply (int reqsize, int reqops, int uid) |
bool | IsThrottling () |
void | SetThrottles (float reqbyterate, float reqoprate, int concurrency, float interval_length) |
void | SetLoadShed (std::string &hostname, unsigned port, unsigned frequency) |
XrdThrottleTimer | StartIOTimer () |
void | PrepLoadShed (const char *opaque, std::string &lsOpaque) |
bool | CheckLoadShed (const std::string &opaque) |
void | PerformLoadShed (const std::string &opaque, std::string &host, unsigned &port) |
| XrdThrottleManager (XrdSysError *lP, XrdOucTrace *tP) |
| ~XrdThrottleManager () |
Static Public Member Functions |
static int | GetUid (const char *username) |
Protected Member Functions |
void | StopIOTimer (struct timespec) |
Private Member Functions |
void | Recompute () |
void | RecomputeInternal () |
int | WaitForShares () |
void | GetShares (int &shares, int &request) |
void | StealShares (int uid, int &reqsize, int &reqops) |
Static Private Member Functions |
static void * | RecomputeBootstrap (void *pp) |
Private Attributes |
XrdOucTrace * | m_trace |
XrdSysError * | m_log |
XrdSysCondVar | m_compute_var |
float | m_interval_length_seconds |
float | m_bytes_per_second |
float | m_ops_per_second |
int | m_concurrency_limit |
std::vector< int > | m_primary_bytes_shares |
std::vector< int > | m_secondary_bytes_shares |
std::vector< int > | m_primary_ops_shares |
std::vector< int > | m_secondary_ops_shares |
int | m_last_round_allocation |
int | m_io_counter |
struct timespec | m_io_wait |
int | m_stable_io_counter |
struct timespec | m_stable_io_wait |
std::string | m_loadshed_host |
unsigned | m_loadshed_port |
unsigned | m_loadshed_frequency |
int | m_loadshed_limit_hit |
Static Private Attributes |
static const int | m_max_users |
static const char * | TraceID |
Friends |
class | XrdThrottleTimer |
Constructor & Destructor Documentation
XrdThrottleManager::~XrdThrottleManager |
( |
|
) |
[inline] |
Member Function Documentation
void XrdThrottleManager::Apply |
( |
int |
reqsize, |
|
|
int |
reqops, |
|
|
int |
uid | |
|
) |
| | |
bool XrdThrottleManager::CheckLoadShed |
( |
const std::string & |
opaque |
) |
|
void XrdThrottleManager::GetShares |
( |
int & |
shares, |
|
|
int & |
request | |
|
) |
| | [private] |
static int XrdThrottleManager::GetUid |
( |
const char * |
username |
) |
[static] |
void XrdThrottleManager::Init |
( |
|
) |
|
bool XrdThrottleManager::IsThrottling |
( |
|
) |
[inline] |
void XrdThrottleManager::PerformLoadShed |
( |
const std::string & |
opaque, |
|
|
std::string & |
host, |
|
|
unsigned & |
port | |
|
) |
| | |
void XrdThrottleManager::PrepLoadShed |
( |
const char * |
opaque, |
|
|
std::string & |
lsOpaque | |
|
) |
| | |
void XrdThrottleManager::Recompute |
( |
|
) |
[private] |
static void* XrdThrottleManager::RecomputeBootstrap |
( |
void * |
pp |
) |
[static, private] |
void XrdThrottleManager::RecomputeInternal |
( |
|
) |
[private] |
void XrdThrottleManager::SetLoadShed |
( |
std::string & |
hostname, |
|
|
unsigned |
port, |
|
|
unsigned |
frequency | |
|
) |
| | [inline] |
void XrdThrottleManager::SetThrottles |
( |
float |
reqbyterate, |
|
|
float |
reqoprate, |
|
|
int |
concurrency, |
|
|
float |
interval_length | |
|
) |
| | [inline] |
void XrdThrottleManager::StealShares |
( |
int |
uid, |
|
|
int & |
reqsize, |
|
|
int & |
reqops | |
|
) |
| | [private] |
void XrdThrottleManager::StopIOTimer |
( |
struct timespec |
|
) |
[protected] |
int XrdThrottleManager::WaitForShares |
( |
|
) |
[private] |
Friends And Related Function Documentation
Member Data Documentation
The documentation for this class was generated from the following file: