ARC SDK
|
libarcdata is a library for access to data on the Grid. It provides a uniform interface to several types of Grid storage and catalogs using various protocols. The protocols usable on a given system depend on the packages installed. The interface can be used to read, write, list, transfer and delete data to and from storage systems and catalogs.
The library uses ARC's dynamic plugin mechanism to load plugins for specific protocols only when required at runtime. These plugins are called Data Manager Components (DMCs). The DataHandle class takes care of automatically loading the required DMC at runtime to create a DataPoint object representing a resource accessible through a given protocol. DataHandle should always be used instead of DataPoint directly.
To create a new DMC for a protocol which is not yet supported see the instruction and examples in the DataPoint class documentation. This documentation also gives a complete overview of the interface.
The following protocols are currently supported in standard distributions of ARC.
DataMover provides a simple high-level interface to copy files. Fine-grained control over data transfer is shown in the following example:
And the same example in python
Data Structures | |
class | Arc::DataBuffer |
Represents set of buffers. More... | |
class | Arc::DataCallback |
Callbacks to be used when there is not enough space on the local filesystem. More... | |
class | Arc::DataHandle |
This class is a wrapper around the DataPoint class. More... | |
class | Arc::DataMover |
DataMover provides an interface to transfer data between two DataPoints. More... | |
class | Arc::DataPoint |
A DataPoint represents a data resource and is an abstraction of a URL. More... | |
class | Arc::DataPointDirect |
DataPointDirect represents "physical" data objects. More... | |
class | Arc::DataPointIndex |
DataPointIndex represents "index" data objects, e.g. catalogs. More... | |
class | Arc::DataSpeed |
Keeps track of average and instantaneous transfer speed. More... | |
class | Arc::DataStatus |
Status code returned by many DataPoint methods. More... | |
struct | Arc::CacheParameters |
Contains data on the parameters of a cache. More... | |
class | Arc::FileCache |
FileCache provides an interface to all cache operations. More... | |
class | Arc::FileCacheHash |
FileCacheHash provides methods to make hashes from strings. More... | |
class | Arc::FileInfo |
FileInfo stores information about files (metadata). More... | |
class | Arc::URLMap |
URLMap allows mapping certain patterns of URLs to other URLs. More... | |
Functions | |
std::ostream & | Arc::operator<< (std::ostream &o, const DataStatus &d) |
Write a human-friendly readable string with all error information to o. More... | |
|
inline |
Write a human-friendly readable string with all error information to o.