xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | List of all members
XrdSfsXioHandle Class Referenceabstract

#include <XrdSfsXio.hh>

Public Member Functions

virtual char * Buffer (int **blen=0)=0
 
virtual void Recycle ()=0
 
 XrdSfsXioHandle ()
 
virtual ~XrdSfsXioHandle ()
 

Detailed Description

XrdSfsXio.hh

This class is used to allow file I/O interfaces to perform exchange buffer I/O in order to minimize data copying. When this feature is enabled, the XrdSfsInterface::setXio() method is called on a newly created XrdSfsFile object. Ideally, all oustanding buffers should be be released when the file is closed. Alternatively, the XrdSfsXioHandle::Recycle() method may be used at any time when it is convenient to do so. For best performance, use XrdSfsXio::Swap() as it provides memory locality and is kind to the cache. Buffer swapping is only supported for file write operations. The XrdSfsXioHandle class describes a handle to a buffer returned by XrdSfsXio::Swap().

Constructor & Destructor Documentation

XrdSfsXioHandle::XrdSfsXioHandle ( )
inline
virtual XrdSfsXioHandle::~XrdSfsXioHandle ( )
inlinevirtual

Member Function Documentation

virtual char* XrdSfsXioHandle::Buffer ( int **  blen = 0)
pure virtual

Obtain te address and, optionally, the length of the associated buffer.

Parameters
blenWhen not null will hold the length of the buffer. This is not to be confused with the length of data in the buffer!
Returns
Pointer to the buffer.
virtual void XrdSfsXioHandle::Recycle ( )
pure virtual

Recycle a buffer that was previously given to the caller via XrdSfsXio::Swap(). Use it when future swaps will no longer be requested.


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