#include <XrdThrottleManager.hh>
Public Member Functions | |
| XrdThrottleManager (XrdSysError *lP, XrdOucTrace *tP) | |
| ~XrdThrottleManager () | |
| void | Apply (int reqsize, int reqops, int uid) |
| bool | CheckLoadShed (const std::string &opaque) |
| bool | CloseFile (const std::string &entity) |
| void | FromConfig (XrdThrottle::Configuration &config) |
| std::tuple< std::string, uint16_t > | GetUserInfo (const XrdSecEntity *client) |
| void | Init () |
| bool | IsThrottling () |
| bool | OpenFile (const std::string &entity, std::string &open_error_message) |
| void | PerformLoadShed (const std::string &opaque, std::string &host, unsigned &port) |
| void | PrepLoadShed (const char *opaque, std::string &lsOpaque) |
| void | SetLoadShed (std::string &hostname, unsigned port, unsigned frequency) |
| void | SetMaxConns (unsigned long max_conns) |
| void | SetMaxOpen (unsigned long max_open) |
| void | SetMaxWait (unsigned long max_wait) |
| void | SetMonitor (XrdXrootdGStream *gstream) |
| void | SetThrottles (float reqbyterate, float reqoprate, int concurrency, float interval_length) |
| XrdThrottleTimer | StartIOTimer (uint16_t uid, bool &ok) |
Protected Member Functions | |
| void | StopIOTimer (std::chrono::steady_clock::duration &event_duration, uint16_t uid) |
Friends | |
| class | XrdThrottleTimer |
Definition at line 53 of file XrdThrottleManager.hh.
| XrdThrottleManager::XrdThrottleManager | ( | XrdSysError * | lP, |
| XrdOucTrace * | tP ) |
Definition at line 44 of file XrdThrottleManager.cc.
|
inline |
Definition at line 107 of file XrdThrottleManager.hh.
| void XrdThrottleManager::Apply | ( | int | reqsize, |
| int | reqops, | ||
| int | uid ) |
Definition at line 317 of file XrdThrottleManager.cc.
| bool XrdThrottleManager::CheckLoadShed | ( | const std::string & | opaque | ) |
Definition at line 769 of file XrdThrottleManager.cc.
| bool XrdThrottleManager::CloseFile | ( | const std::string & | entity | ) |
Definition at line 251 of file XrdThrottleManager.cc.
References XrdSysThread::Num(), and TRACE.
| void XrdThrottleManager::FromConfig | ( | XrdThrottle::Configuration & | config | ) |
Definition at line 59 of file XrdThrottleManager.cc.
References XrdThrottle::Configuration::GetLoadshedFreq(), XrdThrottle::Configuration::GetLoadshedHost(), XrdThrottle::Configuration::GetLoadshedPort(), XrdThrottle::Configuration::GetMaxConn(), XrdThrottle::Configuration::GetMaxOpen(), XrdThrottle::Configuration::GetMaxWait(), XrdThrottle::Configuration::GetThrottleConcurrency(), XrdThrottle::Configuration::GetThrottleDataRate(), XrdThrottle::Configuration::GetThrottleIOPSRate(), XrdThrottle::Configuration::GetThrottleRecomputeIntervalMS(), XrdThrottle::Configuration::GetTraceLevels(), SetLoadShed(), SetMaxConns(), SetMaxOpen(), SetMaxWait(), and SetThrottles().
| std::tuple< std::string, uint16_t > XrdThrottleManager::GetUserInfo | ( | const XrdSecEntity * | client | ) |
Definition at line 116 of file XrdThrottleManager.cc.
References XrdSecEntity::eaAPI, XrdSecEntityAttr::Get(), XrdSecEntity::name, and XrdSecEntity::vorg.
| void XrdThrottleManager::Init | ( | ) |
Definition at line 87 of file XrdThrottleManager.cc.
References DEBUG, XrdSysThread::Run(), and TRACE.
|
inline |
Definition at line 69 of file XrdThrottleManager.hh.
| bool XrdThrottleManager::OpenFile | ( | const std::string & | entity, |
| std::string & | open_error_message ) |
Definition at line 174 of file XrdThrottleManager.cc.
References XrdSysThread::Num(), and TRACE.
| void XrdThrottleManager::PerformLoadShed | ( | const std::string & | opaque, |
| std::string & | host, | ||
| unsigned & | port ) |
Definition at line 815 of file XrdThrottleManager.cc.
| void XrdThrottleManager::PrepLoadShed | ( | const char * | opaque, |
| std::string & | lsOpaque ) |
Definition at line 791 of file XrdThrottleManager.cc.
References XrdOucEnv::Get().
|
inline |
Definition at line 80 of file XrdThrottleManager.hh.
Referenced by FromConfig().
|
inline |
Definition at line 85 of file XrdThrottleManager.hh.
Referenced by FromConfig().
|
inline |
Definition at line 83 of file XrdThrottleManager.hh.
Referenced by FromConfig().
|
inline |
Definition at line 87 of file XrdThrottleManager.hh.
Referenced by FromConfig().
|
inline |
Definition at line 89 of file XrdThrottleManager.hh.
|
inline |
Definition at line 76 of file XrdThrottleManager.hh.
Referenced by FromConfig().
| XrdThrottleTimer XrdThrottleManager::StartIOTimer | ( | uint16_t | uid, |
| bool & | ok ) |
Definition at line 703 of file XrdThrottleManager.cc.
References DEBUG, TRACE, and XrdThrottleTimer.
|
protected |
Definition at line 736 of file XrdThrottleManager.cc.
|
friend |
Definition at line 56 of file XrdThrottleManager.hh.
References XrdThrottleTimer.
Referenced by StartIOTimer(), and XrdThrottleTimer.