xrootd
|
Singleton access to URL to virtual redirector mapping. More...
#include <XrdClRedirectorRegistry.hh>
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). | |
VirtualRedirector * | Get (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 RedirectorRegistry & | Instance () |
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 &) | |
RedirectorRegistry & | operator= (const RedirectorRegistry &) |
Static Private Member Functions | |
static URL | ConvertLocalfile (const URL &url) |
Private Attributes | |
RedirectorMap | pRegistry |
XrdSysMutex | pMutex |
Singleton access to URL to virtual redirector mapping.
|
private |
XrdCl::RedirectorRegistry::~RedirectorRegistry | ( | ) |
Destructor.
|
inlineprivate |
|
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 |
Returns reference to the single instance.
|
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).
|
private |
Register implementation.
void XrdCl::RedirectorRegistry::Release | ( | const URL & | url | ) |
Release the virtual redirector associated with the given URL.
|
mutableprivate |
|
private |