XrdCl::RedirectorRegistry Class Reference

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

#include <XrdClRedirectorRegistry.hh>

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

List of all members.

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

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

Constructor & Destructor Documentation

XrdCl::RedirectorRegistry::~RedirectorRegistry (  ) 

Destructor.

XrdCl::RedirectorRegistry::RedirectorRegistry (  )  [inline, private]
XrdCl::RedirectorRegistry::RedirectorRegistry ( const RedirectorRegistry  )  [private]

Member Function Documentation

static URL XrdCl::RedirectorRegistry::ConvertLocalfile ( const URL url  )  [static, private]

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


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

Generated on 16 Oct 2020 for xrootd by  doxygen 1.6.1