Go to the documentation of this file.
19 #ifndef __XRD_CL_SID_MANAGER_HH__
20 #define __XRD_CL_SID_MANAGER_HH__
25 #include <unordered_map>
53 #if __cplusplus < 201103L
191 std::unordered_map<std::string, SIDManager*>
pool;
195 #endif // __XRD_CL_SID_MANAGER_HH__
void ReleaseAllTimedOut()
Release all timed out SIDs.
~SIDMgrPool()
Destructor.
Definition: XrdClSIDManager.hh:145
std::shared_ptr< SIDManager > GetSIDMgr(const URL &url)
Status AllocateSID(uint8_t sid[2])
Definition: XrdSysPthread.hh:165
SIDManager()
Constructor.
Definition: XrdClSIDManager.hh:51
void TimeOutSID(uint8_t sid[2])
Register a SID of a request that timed out.
uint16_t GetNumberOfAllocatedSIDs() const
Number of allocated streams.
std::list< uint16_t > pFreeSIDs
Definition: XrdClSIDManager.hh:116
SIDMgrPool & operator=(SIDMgrPool &&)=delete
void operator()(SIDManager *mgr)
Definition: XrdClSIDManager.hh:166
bool IsTimedOut(uint8_t sid[2])
Check if a SID is timed out.
SIDMgrPool(const SIDMgrPool &)=delete
Deleted constructors.
void ReleaseSID(uint8_t sid[2])
Release the SID that is no longer needed.
std::unordered_map< std::string, SIDManager * > pool
Definition: XrdClSIDManager.hh:191
uint32_t NumberOfTimedOutSIDs() const
Number of timeout sids.
Definition: XrdClSIDManager.hh:104
SIDMgrPool & operator=(const SIDMgrPool &)=delete
Deleted assigment operators.
void Recycle(SIDManager *mgr)
uint16_t pSIDCeiling
Definition: XrdClSIDManager.hh:118
SIDMgrPool(SIDMgrPool &&)=delete
~SIDManager()
Destructor.
Definition: XrdClSIDManager.hh:64
Pool of SID manager objects.
Definition: XrdClSIDManager.hh:127
Handle XRootD stream IDs.
Definition: XrdClSIDManager.hh:43
size_t pRefCount
Definition: XrdClSIDManager.hh:120
Definition: XrdClAnyObject.hh:26
XrdSysMutex pMutex
Definition: XrdClSIDManager.hh:119
void ReleaseTimedOut(uint8_t sid[2])
Release a timed out SID.
static SIDMgrPool & Instance()
Definition: XrdClSIDManager.hh:133
SIDMgrPool()
Constructor.
Definition: XrdClSIDManager.hh:176
Procedure execution status.
Definition: XrdClStatus.hh:113
URL representation.
Definition: XrdClURL.hh:31
Definition: XrdSysPthread.hh:263
A functional object for handling the deletion of SIDManager objects.
Definition: XrdClSIDManager.hh:165
std::set< uint16_t > pTimeOutSIDs
Definition: XrdClSIDManager.hh:117
XrdSysMutex mtx
Definition: XrdClSIDManager.hh:190