XRootD
Loading...
Searching...
No Matches
XrdCephReadVBasic.hh
Go to the documentation of this file.
1#ifndef __IXRD_CEPH_READV_BASIC_HH__
2#define __IXRD_CEPH_READV_BASIC_HH__
3//------------------------------------------------------------------------------
4// Interface to the actual buffer data object used to store the data
5// Intention to be able to abstract the underlying implementation and code against the inteface
6// e.g. if choice of buffer data object
7//------------------------------------------------------------------------------
8
9#include <sys/types.h>
10#include <vector>
11
12#include "BufferUtils.hh"
14
15namespace XrdCephBuffer
16{
17
25 class XrdCephReadVBasic : virtual public IXrdCephReadVAdapter {
26 // nothing more than readV in, and readV out
27 public:
29 virtual ~XrdCephReadVBasic();
30
31 virtual std::vector<ExtentHolder> convert(const ExtentHolder &extentsHolderInput) override;
32
33 protected:
34 ssize_t m_minSize = 2*1024*1024;
35 ssize_t m_maxSize = 16*1024*1024;
36
37 private:
38 size_t m_usedBytes = 0;
39 size_t m_wastedBytes = 0;
40
41
42 };
43
44
45
46}
47
48#endif
Designed to hold individual extents, but itself provide Extent-like capabilities Useful in cases of c...
Interface to the logic of dealing with readV requests.
Combine requests into single reads accoriding to some basic rules. Read a minimum amount of data (2Mi...
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 reque...
is a simple implementation of IXrdCephBufferData using std::vector<char> representation for the buffe...