xrootd
Loading...
Searching...
No Matches
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.
 
XRootDStatus Register (const URL &url)
 Creates a new virtual redirector and registers it (async).
 
XRootDStatus RegisterAndWait (const URL &url)
 Creates a new virtual redirector and registers it (sync).
 
VirtualRedirectorGet (const URL &url) const
 Get a virtual redirector associated with the given URL.
 
void Release (const URL &url)
 Release the virtual redirector associated with the given URL.
 

Static Public Member Functions

static RedirectorRegistryInstance ()
 Returns reference to the single instance.
 

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.
 
 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

◆ RedirectorMap

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

Constructor & Destructor Documentation

◆ ~RedirectorRegistry()

XrdCl::RedirectorRegistry::~RedirectorRegistry ( )

Destructor.

◆ RedirectorRegistry() [1/2]

XrdCl::RedirectorRegistry::RedirectorRegistry ( )
inlineprivate

◆ RedirectorRegistry() [2/2]

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

Member Function Documentation

◆ ConvertLocalfile()

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

◆ Get()

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

Get a virtual redirector associated with the given URL.

◆ Instance()

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

Returns reference to the single instance.

◆ operator=()

RedirectorRegistry & XrdCl::RedirectorRegistry::operator= ( const RedirectorRegistry )
private

◆ Register()

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

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

◆ RegisterAndWait()

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

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

◆ RegisterImpl()

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

Register implementation.

◆ Release()

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

Release the virtual redirector associated with the given URL.

Member Data Documentation

◆ pMutex

XrdSysMutex XrdCl::RedirectorRegistry::pMutex
mutableprivate

◆ pRegistry

RedirectorMap XrdCl::RedirectorRegistry::pRegistry
private

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