XRootD
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 More...
 
virtual ssize_t read (volatile void *buff, off_t offset, size_t blen)=0
 read data through the buffer More...
 
virtual ssize_t read_aio (XrdSfsAio *aoip)=0
 possible aio based code More...
 
virtual ssize_t write (const void *buff, off_t offset, size_t blen)=0
 write data through the buffer More...
 
virtual ssize_t write_aio (XrdSfsAio *aoip)=0
 possible aio based code More...
 

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.

◆ 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: