CMS 3D CMS Logo

Public Member Functions | Private Attributes

IOPosBuffer Struct Reference

#include <IOPosBuffer.h>

List of all members.

Public Member Functions

void * data (void) const
 IOPosBuffer (void)
 IOPosBuffer (IOOffset offset, void *data, IOSize length)
 IOPosBuffer (IOOffset offset, const void *data, IOSize length)
IOOffset offset (void) const
void set_data (void *new_buffer)
void set_offset (IOOffset new_offset)
void set_size (IOSize new_size)
IOSize size (void) const

Private Attributes

void * m_data
IOSize m_length
IOOffset m_offset

Detailed Description

Buffer for I/O operations.

Definition at line 7 of file IOPosBuffer.h.


Constructor & Destructor Documentation

IOPosBuffer::IOPosBuffer ( void  ) [inline]

Construct a null I/O buffer.

Definition at line 30 of file IOPosBuffer.h.

  : m_offset (0),
    m_data (0),
    m_length (0)
{}
IOPosBuffer::IOPosBuffer ( IOOffset  offset,
void *  data,
IOSize  length 
) [inline]

Construct a I/O buffer for reading.

Definition at line 38 of file IOPosBuffer.h.

  : m_offset (offset),
    m_data (data),
    m_length (length)
{}
IOPosBuffer::IOPosBuffer ( IOOffset  offset,
const void *  data,
IOSize  length 
) [inline]

Construct a I/O buffer for writing.

Definition at line 46 of file IOPosBuffer.h.

  : m_offset (offset),
    m_data (const_cast<void *> (data)),
    m_length (length)
{}

Member Function Documentation

void * IOPosBuffer::data ( void  ) const [inline]

Return a pointer to the beginning of the buffer's data area.

Definition at line 59 of file IOPosBuffer.h.

References m_data.

Referenced by XrdFile::readv(), and ReadRepacker::unpack().

{ return m_data; }
IOOffset IOPosBuffer::offset ( void  ) const [inline]

Return the file offset where I/O is expected to occur.

Definition at line 54 of file IOPosBuffer.h.

References m_offset.

Referenced by ReadRepacker::packInternal(), LocalCacheFile::prefetch(), XrdFile::prefetch(), File::prefetch(), LocalCacheFile::readv(), DCacheFile::readv(), and XrdFile::readv().

{ return m_offset; }
void IOPosBuffer::set_data ( void *  new_data) [inline]

Update the buffer's data area

Definition at line 74 of file IOPosBuffer.h.

References m_data.

Referenced by ReadRepacker::packInternal().

{ m_data = new_data; }
void IOPosBuffer::set_offset ( IOOffset  new_offset) [inline]

Update the file offset

Definition at line 69 of file IOPosBuffer.h.

References m_offset.

Referenced by ReadRepacker::packInternal().

{ m_offset = new_offset; }
void IOPosBuffer::set_size ( IOSize  new_length) [inline]

Update the buffer's size

Definition at line 79 of file IOPosBuffer.h.

References m_length.

Referenced by ReadRepacker::packInternal().

{ m_length = new_length; }
IOSize IOPosBuffer::size ( void  ) const [inline]

Member Data Documentation

void* IOPosBuffer::m_data [private]

Definition at line 24 of file IOPosBuffer.h.

Referenced by data(), and set_data().

Definition at line 25 of file IOPosBuffer.h.

Referenced by set_size(), and size().

Definition at line 23 of file IOPosBuffer.h.

Referenced by offset(), and set_offset().