Nov 4 – 8, 2019
Adelaide Convention Centre
Australia/Adelaide timezone

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

Nov 7, 2019, 2:30 PM
Riverbank R2 (Adelaide Convention Centre)

Riverbank R2

Adelaide Convention Centre

Oral Track 5 – Software Development Track 5 – Software Development


Andrew Bohdan Hanushevsky (SLAC National Accelerator Laboratory (US))


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 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.

Consider for promotion No

Primary authors

Michal Kamil Simon (CERN) Andrew Bohdan Hanushevsky (SLAC National Accelerator Laboratory (US))

Presentation materials