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

Singleton access to URL to virtual redirector mapping. More...

#include <XrdClRedirectorRegistry.hh>

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

Public Member Functions

 ~RedirectorRegistry ()
 Destructor. More...
 
XRootDStatus Register (const URL &url)
 Creates a new virtual redirector and registers it (async). More...
 
XRootDStatus RegisterAndWait (const URL &url)
 Creates a new virtual redirector and registers it (sync). More...
 
VirtualRedirectorGet (const URL &url) const
 Get a virtual redirector associated with the given URL. More...
 
void Release (const URL &url)
 Release the virtual redirector associated with the given URL. More...
 

Static Public Member Functions

static RedirectorRegistryInstance ()
 Returns reference to the single instance. More...
 

Private Types

typedef std::map< std::string,
std::pair< VirtualRedirector
*, size_t > > 
RedirectorMap
 

Private Member Functions

XRootDStatus RegisterImpl (const URL &url, ResponseHandler *handler)
 Register implementation. More...
 
 RedirectorRegistry ()
 
 RedirectorRegistry (const RedirectorRegistry &)
 
RedirectorRegistryoperator= (const RedirectorRegistry &)
 

Static Private Member Functions

static URL ConvertLocalfile (const URL &url)
 

Private Attributes

RedirectorMap pRegistry
 
XrdSysMutex pMutex
 

Detailed Description

Singleton access to URL to virtual redirector mapping.

Member Typedef Documentation

typedef std::map< std::string, std::pair<VirtualRedirector*, size_t> > XrdCl::RedirectorRegistry::RedirectorMap
private

Constructor & Destructor Documentation

XrdCl::RedirectorRegistry::~RedirectorRegistry ( )

Destructor.

XrdCl::RedirectorRegistry::RedirectorRegistry ( )
inlineprivate
XrdCl::RedirectorRegistry::RedirectorRegistry ( const RedirectorRegistry )
private

Member Function Documentation

static URL XrdCl::RedirectorRegistry::ConvertLocalfile ( const URL url)
staticprivate

Convert the old convention for accessing local metalink files: root://localfile//path/metalink.meta4 into: file://localhost/path/metalink.meta4

VirtualRedirector* XrdCl::RedirectorRegistry::Get ( const URL url) const

Get a virtual redirector associated with the given URL.

static RedirectorRegistry& XrdCl::RedirectorRegistry::Instance ( )
static

Returns reference to the single instance.

RedirectorRegistry& XrdCl::RedirectorRegistry::operator= ( const RedirectorRegistry )
private
XRootDStatus XrdCl::RedirectorRegistry::Register ( const URL url)

Creates a new virtual redirector and registers it (async).

XRootDStatus XrdCl::RedirectorRegistry::RegisterAndWait ( const URL url)

Creates a new virtual redirector and registers it (sync).

XRootDStatus XrdCl::RedirectorRegistry::RegisterImpl ( const URL url,
ResponseHandler handler 
)
private

Register implementation.

void XrdCl::RedirectorRegistry::Release ( const URL url)

Release the virtual redirector associated with the given URL.

Member Data Documentation

XrdSysMutex XrdCl::RedirectorRegistry::pMutex
mutableprivate
RedirectorMap XrdCl::RedirectorRegistry::pRegistry
private

The documentation for this class was generated from the following file: