EOS Erasure Coding plug-in as a case study for the XRootD client declarative API

Michal Kamil Simon, Andrew Bohdan Hanushevsky
2019 Zenodo  
One of the key components of the XRootD software framework is the C++ implementation of the XRootD client. As the foundation of client binaries, XRootD Posix API and the Python API, it is widely used in LHC experiments' frameworks as well as on server side in the XCache and EOS. In order to facilitate new developments the XRootD client API has been extended to be in line with modern C++ programming practices. In this contribution we report on the new XRootD client declarative API inspired by
more » ... API inspired by C++ ranges v3. The new utility offers superior composability of asynchronous operations through operation pipelining, and support for standard callbacks (lambdas, std::futures). As a case study we consider the EOS erasure coding plug-in.
doi:10.5281/zenodo.3599016 fatcat:c7sv5xfzaneyha4it555dyjvhi