Loading...
Searching...
No Matches
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< ExtentHolder > | convert (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.

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.

{}

## ~XrdCephReadVNoOp()

virtual XrdCephBuffer::XrdCephReadVNoOp::~XrdCephReadVNoOp | ( |  | ) |

inline virtual

Definition at line 27 of file XrdCephReadVNoOp.hh.

{}

## Member Function Documentation

## convert()

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

override virtual

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.

{
std::vector<ExtentHolder> outputs;
const ExtentContainer &extentsIn = extentsHolderInput.extents();
for (ExtentContainer::const_iterator it = extentsIn.begin(); it != extentsIn.end(); ++it)
{
ExtentHolder tmp;
tmp.push_back(*it);
outputs.push_back(tmp);
} // for
// each element in the output contains one element, the
return outputs;
} // convert
XrdCephBuffer::ExtentHolder::extents
const ExtentContainer & extents() const
Definition BufferUtils.hh:133
XrdCephBuffer::ExtentHolder::push_back
void push_back(const Extent &in)
Definition BufferUtils.cc:101
XrdCephBuffer::ExtentContainer
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:

- XrdCephReadVNoOp.hh
- XrdCephReadVNoOp.cc