XRootD
Loading...
Searching...
No Matches
ICephIOAdapter.hh
Go to the documentation of this file.
1#ifndef __ICEPH_IO_ADAPTER_HH__
2#define __ICEPH_IO_ADAPTER_HH__
3//------------------------------------------------------------------------------
4// Interface of the logic part of the buffering
5// Intention to be able to abstract the underlying implementation and code against the inteface
6// e.g. for different complexities of control.
7// Couples loosely to IXrdCepgBufferData and anticipated to be called by XrdCephOssBufferedFile.
8// Should managage all of the IO and logic to give XrdCephOssBufferedFile only simple commands to call.
9// implementations are likely to use (via callbacks?) CephPosix library code for actual reads and writes.
10//------------------------------------------------------------------------------
11
12#include <sys/types.h>
13#include "IXrdCephBufferData.hh"
14
15namespace XrdCephBuffer {
16
26 public:
27 virtual ~ICephIOAdapter() {}
28 virtual ssize_t write(off64_t offset,size_t count) = 0;
29 virtual ssize_t read(off64_t offset,size_t count) = 0;
30
31};
32
33}
34
35#endif
Manage the actual IO operations that read and write the data into Ceph via librados striper....
virtual ssize_t write(off64_t offset, size_t count)=0
write from buffer into ceph
virtual ssize_t read(off64_t offset, size_t count)=0
read from ceph into the buffer
is a simple implementation of IXrdCephBufferData using std::vector<char> representation for the buffe...