XRootD
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"
13 #include "IXrdCephReadVAdapter.hh"
14 
15 namespace 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...
Definition: BufferUtils.hh:109
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...
Definition: BufferUtils.hh:29