xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
XrdCl::SIDManager Class Reference

Handle XRootD stream IDs. More...

#include <XrdClSIDManager.hh>

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

Public Member Functions

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

Private Member Functions

 SIDManager ()
 Constructor. More...
 

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 ( )
inlineprivate

Constructor.

XrdCl::SIDManager::~SIDManager ( )
inline

Destructor.

Member Function Documentation

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

Allocate a SID

Parameters
sida 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
XrdSysMutex XrdCl::SIDManager::pMutex
mutableprivate

Referenced by NumberOfTimedOutSIDs().

size_t XrdCl::SIDManager::pRefCount
mutableprivate
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: