XRootD
Loading...
Searching...
No Matches
XrdCephBuffer::IXrdCephBufferAlg Class Referenceabstract

Interface to a holder of the main logic decisions of the buffering algortithm, decoupled from the buffer resource itself. Main work of the buffering is done in the classes that inherit from the interace, of how and when and why to buffer and flush the data The physical representation of the buffer is not written here to allow for some flexibility of changing the internals of the buffer if needed. Anticipate that a non-async and async will be the main distinct use cases. More...

#include <IXrdCephBufferAlg.hh>

+ Inheritance diagram for XrdCephBuffer::IXrdCephBufferAlg:
+ Collaboration diagram for XrdCephBuffer::IXrdCephBufferAlg:

Public Member Functions

virtual ~IXrdCephBufferAlg ()
 
virtual ssize_t flushWriteCache ()=0
 remember to flush the cache on final writes
 
virtual ssize_t read (volatile void *buff, off_t offset, size_t blen)=0
 read data through the buffer
 
virtual ssize_t read_aio (XrdSfsAio *aoip)=0
 possible aio based code
 
virtual ssize_t write (const void *buff, off_t offset, size_t blen)=0
 write data through the buffer
 
virtual ssize_t write_aio (XrdSfsAio *aoip)=0
 possible aio based code
 

Detailed Description

Interface to a holder of the main logic decisions of the buffering algortithm, decoupled from the buffer resource itself. Main work of the buffering is done in the classes that inherit from the interace, of how and when and why to buffer and flush the data The physical representation of the buffer is not written here to allow for some flexibility of changing the internals of the buffer if needed. Anticipate that a non-async and async will be the main distinct use cases.

Definition at line 26 of file IXrdCephBufferAlg.hh.

Constructor & Destructor Documentation

◆ ~IXrdCephBufferAlg()

virtual XrdCephBuffer::IXrdCephBufferAlg::~IXrdCephBufferAlg ( )
inlinevirtual

Definition at line 28 of file IXrdCephBufferAlg.hh.

28{}

Member Function Documentation

◆ flushWriteCache()

virtual ssize_t XrdCephBuffer::IXrdCephBufferAlg::flushWriteCache ( )
pure virtual

remember to flush the cache on final writes

Implemented in XrdCephBuffer::XrdCephBufferAlgSimple.

◆ read()

virtual ssize_t XrdCephBuffer::IXrdCephBufferAlg::read ( volatile void * buff,
off_t offset,
size_t blen )
pure virtual

read data through the buffer

Implemented in XrdCephBuffer::XrdCephBufferAlgSimple.

◆ read_aio()

virtual ssize_t XrdCephBuffer::IXrdCephBufferAlg::read_aio ( XrdSfsAio * aoip)
pure virtual

possible aio based code

Implemented in XrdCephBuffer::XrdCephBufferAlgSimple.

Referenced by XrdCephOssBufferedFile::Read().

+ Here is the caller graph for this function:

◆ write()

virtual ssize_t XrdCephBuffer::IXrdCephBufferAlg::write ( const void * buff,
off_t offset,
size_t blen )
pure virtual

write data through the buffer

Implemented in XrdCephBuffer::XrdCephBufferAlgSimple.

◆ write_aio()

virtual ssize_t XrdCephBuffer::IXrdCephBufferAlg::write_aio ( XrdSfsAio * aoip)
pure virtual

possible aio based code

Implemented in XrdCephBuffer::XrdCephBufferAlgSimple.


The documentation for this class was generated from the following file: