XrdCl::SIDManager Class Reference

Handle XRootD stream IDs. More...

#include <XrdClSIDManager.hh>

Collaboration diagram for XrdCl::SIDManager:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SIDManager ()
 Constructor.
Status AllocateSID (uint8_t sid[2])
void ReleaseSID (uint8_t sid[2])
 Release the SID that is no longer needed.
void TimeOutSID (uint8_t sid[2])
 Register a SID of a request that timed out.
bool IsTimedOut (uint8_t sid[2])
 Check if a SID is timed out.
void ReleaseTimedOut (uint8_t sid[2])
 Release a timed out SID.
void ReleaseAllTimedOut ()
 Release all timed out SIDs.
uint32_t NumberOfTimedOutSIDs () const
 Number of timeout sids.
uint16_t GetNumberOfAllocatedSIDs () const
 Number of allocated streams.

Private Attributes

std::list< uint16_t > pFreeSIDs
std::set< uint16_t > pTimeOutSIDs
uint16_t pSIDCeiling
XrdSysMutex pMutex

Detailed Description

Handle XRootD stream IDs.


Constructor & Destructor Documentation

XrdCl::SIDManager::SIDManager (  )  [inline]

Constructor.


Member Function Documentation

Status XrdCl::SIDManager::AllocateSID ( uint8_t  sid[2]  ) 

Allocate a SID

Parameters:
sid a two byte array where the allocated SID should be stored
Returns:
stOK on success, stError on error
uint16_t XrdCl::SIDManager::GetNumberOfAllocatedSIDs (  )  const

Number of allocated streams.

bool XrdCl::SIDManager::IsTimedOut ( uint8_t  sid[2]  ) 

Check if a SID is timed out.

uint32_t XrdCl::SIDManager::NumberOfTimedOutSIDs (  )  const [inline]

Number of timeout sids.

References pMutex, and pTimeOutSIDs.

void XrdCl::SIDManager::ReleaseAllTimedOut (  ) 

Release all timed out SIDs.

void XrdCl::SIDManager::ReleaseSID ( uint8_t  sid[2]  ) 

Release the SID that is no longer needed.

void XrdCl::SIDManager::ReleaseTimedOut ( uint8_t  sid[2]  ) 

Release a timed out SID.

void XrdCl::SIDManager::TimeOutSID ( uint8_t  sid[2]  ) 

Register a SID of a request that timed out.


Member Data Documentation

std::list<uint16_t> XrdCl::SIDManager::pFreeSIDs [private]

Referenced by NumberOfTimedOutSIDs().

uint16_t XrdCl::SIDManager::pSIDCeiling [private]
std::set<uint16_t> XrdCl::SIDManager::pTimeOutSIDs [private]

Referenced by NumberOfTimedOutSIDs().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Feb 2020 for xrootd by  doxygen 1.6.1