![]() |
XRootD
|
Combine requests into single reads accoriding to some basic rules. Read a minimum amount of data (2MiB default), keep adding chunks until the used fraction is lower than some threshold, or 64MiB is reached. Calling code unraveles the correct ranges for each. More...
#include <XrdCephReadVBasic.hh>
Public Member Functions | |
XrdCephReadVBasic () | |
virtual | ~XrdCephReadVBasic () |
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. More... | |
![]() | |
virtual | ~IXrdCephReadVAdapter () |
Protected Attributes | |
ssize_t | m_maxSize = 16*1024*1024 |
ssize_t | m_minSize = 2*1024*1024 |
Combine requests into single reads accoriding to some basic rules. Read a minimum amount of data (2MiB default), keep adding chunks until the used fraction is lower than some threshold, or 64MiB is reached. Calling code unraveles the correct ranges for each.
Definition at line 25 of file XrdCephReadVBasic.hh.
|
inline |
Definition at line 28 of file XrdCephReadVBasic.hh.
|
virtual |
|
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.
extentsIn |
Implements XrdCephBuffer::IXrdCephReadVAdapter.
Definition at line 18 of file XrdCephReadVBasic.cc.
References BUFLOG, XrdCephBuffer::ExtentHolder::bytesContained(), XrdCephBuffer::ExtentHolder::bytesMissing(), XrdCephBuffer::ExtentHolder::extents(), m_maxSize, m_minSize, XrdCephBuffer::ExtentHolder::push_back(), and XrdCephBuffer::ExtentHolder::size().
|
protected |
Definition at line 35 of file XrdCephReadVBasic.hh.
Referenced by convert().
|
protected |
Definition at line 34 of file XrdCephReadVBasic.hh.
Referenced by convert().