Skip to content

Commit 2439044

Browse files
committed
Add rudimentary README.md
1 parent 5a115aa commit 2439044

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

Utilities/XrdAdaptor/README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# XrdAdaptor
2+
3+
## Introduction
4+
5+
The `XrdAdaptor` package is the CMSSW implementation of CMS' AAA infrastructure. The main features on top of the stock XRootD client library are
6+
* Recovery from some errors via re-tries
7+
* Use of multiple XRootD sources (described further [here](doc/multisource_algorithm_design.md))
8+
9+
## Short description of components
10+
11+
### `ClientRequest`
12+
13+
The `ClientRequest` implements `XrdCl::ResponseHandler`, and represents a single read request(?).
14+
15+
### `QualityMetric` etc
16+
17+
?
18+
19+
### `RequestManager`
20+
21+
The `RequestManager` containes the actual implementation of the retries and the multi-source algorithm. There is one `RequestManager` object for one PFN, and it contains one or more `Source` objects.
22+
23+
#### `RequestManager::OpenHandler`
24+
25+
The `OpenHandler` implements XRootD's `XrdCl::ResponseHandler` in an asynchronous way(?). An instance is created in `RequestManager::initialize()`, and used when additional Sources are opened, either as part of the multi-source comparisons (`RequestManager::checkSourcesImpl()`) or read error recovery (`RequestManager::requestFailure()`).
26+
27+
### `Source`
28+
29+
The `Source` represents a connection to one storage server. There can be more than one `Source` for one PFN.
30+
31+
### `SyncHostResponseHandler`
32+
33+
The `SyncHostResponseHandler` implements XRootD's `XrdCl::ResponseHandler` in a synchronous way(?). It is used in `RequestManager::initialize()` for the initial file open.
34+
35+
### `XrdFile`
36+
37+
The `XrdFile` implements `edm::storage::Storage` (see [Utilities/StorageFactory/README.md](../../Utilities/StorageFactory/README.md). In CMS' terminology it represents one Physical File Name (PFN), and acts as a glue between the `edm::storage::Storage` API and `RequestManager`.
38+
39+
### `XrdStatistics`
40+
41+
?
42+
43+
### `XrdStatisticsService`
44+
45+
The `XrdStatisticsService` is a Service to report XrootD-related statistics centrally. It is one of the default Services that are enabled in `cmsRun`.
46+
47+
### `XrdStorageMaker`
48+
49+
The `XrdStorageMaker` is a plugin in the `StorageMaker` hierarchy. See [Utilities/StorageFactory/README.md](../../Utilities/StorageFactory/README.md) for more information. Among other things it creates `XrdFile` objects.

0 commit comments

Comments
 (0)