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: