XRootD
XrdCephBuffer::XrdCephReadVNoOp Class Reference

Passthrough implementation. Convertes the ReadV requests to extents and makes the request. Does not change how the readV implementation is done, just implements a version with Extents More for functionality testing, or to allow easier access to readV statistics. More...

#include <XrdCephReadVNoOp.hh>

+ Inheritance diagram for XrdCephBuffer::XrdCephReadVNoOp:
+ Collaboration diagram for XrdCephBuffer::XrdCephReadVNoOp:

Public Member Functions

 XrdCephReadVNoOp ()
 
virtual ~XrdCephReadVNoOp ()
 
virtual std::vector< ExtentHolderconvert (const ExtentHolder &extentsHolderInput) override
 Take in a set of extents representing the readV requests. return a vector of each combined read request. Caller translates the readV request into a set of Extents (passed to an ExtentHolder). The logic of the specific concrete implementation combines the set of readV requests into merged requests. Output is a vector of those requests. Each ExtentHolder element holds the offset and len to be read, and also the contained extents of the readVs. The index of the readV element is not held, so the caller must ensure to match up appropriately. More...
 
- Public Member Functions inherited from XrdCephBuffer::IXrdCephReadVAdapter
virtual ~IXrdCephReadVAdapter ()
 

Detailed Description

Passthrough implementation. Convertes the ReadV requests to extents and makes the request. Does not change how the readV implementation is done, just implements a version with Extents More for functionality testing, or to allow easier access to readV statistics.

Definition at line 23 of file XrdCephReadVNoOp.hh.

Constructor & Destructor Documentation

◆ XrdCephReadVNoOp()

XrdCephBuffer::XrdCephReadVNoOp::XrdCephReadVNoOp ( )
inline

Definition at line 26 of file XrdCephReadVNoOp.hh.

26 {}

◆ ~XrdCephReadVNoOp()

virtual XrdCephBuffer::XrdCephReadVNoOp::~XrdCephReadVNoOp ( )
inlinevirtual

Definition at line 27 of file XrdCephReadVNoOp.hh.

27 {}

Member Function Documentation

◆ convert()

std::vector< ExtentHolder > XrdCephReadVNoOp::convert ( const ExtentHolder extentsIn)
overridevirtual

Take in a set of extents representing the readV requests. return a vector of each combined read request. Caller translates the readV request into a set of Extents (passed to an ExtentHolder). The logic of the specific concrete implementation combines the set of readV requests into merged requests. Output is a vector of those requests. Each ExtentHolder element holds the offset and len to be read, and also the contained extents of the readVs. The index of the readV element is not held, so the caller must ensure to match up appropriately.

Parameters
extentsIn
Returns
std::vector<ExtentHolder>

Implements XrdCephBuffer::IXrdCephReadVAdapter.

Definition at line 7 of file XrdCephReadVNoOp.cc.

8 {
9  std::vector<ExtentHolder> outputs;
10 
11  const ExtentContainer &extentsIn = extentsHolderInput.extents();
12 
13  for (ExtentContainer::const_iterator it = extentsIn.begin(); it != extentsIn.end(); ++it)
14  {
15  ExtentHolder tmp;
16  tmp.push_back(*it);
17  outputs.push_back(tmp);
18  } // for
19  // each element in the output contains one element, the
20 
21  return outputs;
22 } // convert
Designed to hold individual extents, but itself provide Extent-like capabilities Useful in cases of c...
Definition: BufferUtils.hh:109
void push_back(const Extent &in)
Definition: BufferUtils.cc:101
const ExtentContainer & extents() const
Definition: BufferUtils.hh:133
std::vector< Extent > ExtentContainer
Container defintion for Extents Typedef to provide a container of extents as a simple stl vector cont...
Definition: BufferUtils.hh:99

References XrdCephBuffer::ExtentHolder::extents(), and XrdCephBuffer::ExtentHolder::push_back().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: