![]() |
XRootD
|
#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.
References AtomicBeg, AtomicEnd, TRACE, and XrdSysCondVar::Wait().
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.
Referenced by XrdThrottle::File::close(), and XrdThrottle::File::open().
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(), SetThrottles(), and XrdOucTrace::What.
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.
Referenced by XrdThrottle::File::open().
void XrdThrottleManager::Init | ( | ) |
Definition at line 87 of file XrdThrottleManager.cc.
References DEBUG, XrdSysError::Emsg(), 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.
Referenced by XrdThrottle::File::open().
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().
Referenced by XrdThrottle::File::open().
|
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.
Referenced by StartIOTimer().