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 ()
 Destructor.
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 Member Functions

 SIDManager ()
 Constructor.

Private Attributes

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

Friends

class SIDMgrPool

Detailed Description

Handle XRootD stream IDs.


Constructor & Destructor Documentation

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

Constructor.

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

Destructor.


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.


Friends And Related Function Documentation

friend class SIDMgrPool [friend]

Member Data Documentation

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

Referenced by NumberOfTimedOutSIDs().

size_t XrdCl::SIDManager::pRefCount [mutable, private]
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 4 Sep 2020 for xrootd by  doxygen 1.6.1