Data Structures | Public Types | Public Member Functions | Data Fields

AbstractBuffer Class Reference

#include <AbstractBuffer.h>

Collaboration diagram for AbstractBuffer:
Collaboration graph
[legend]

Data Structures

union  VolatileState

Public Types

enum  AbstractBufferState {
  AB_STATE_UNUSED, AB_STATE_INITIALIZING, AB_STATE_READ_WRITE, AB_STATE_READ_ONLY,
  AB_STATE_FLUSH, AB_STATE_FLUSH_COMPLETE
}

Public Member Functions

 AbstractBuffer (int xsize, int xalignment)
virtual ~AbstractBuffer ()
char * data ()
char & operator[] (int idx)
int offset ()
virtual ABError checkout_write (int *write_offset, int write_size, uint64_t retries=(uint64_t)-1)
virtual ABError checkout_read (int read_offset, int read_size)
virtual ABError checkin_write (int write_offset)
virtual ABError checkin_read (int read_offset)
virtual void initialize ()
virtual void full ()
virtual void flush ()
virtual void flush_complete ()
virtual void destroy ()
virtual void clear ()
bool switch_state (VolatileState &old_state, VolatileState &new_state)

Data Fields

volatile VolatileState vs
char * buffer
char * unaligned_buffer
int size
int alignment
VolatileState vs_history [AB_STATE_FLUSH_COMPLETE+1]

Detailed Description

Definition at line 41 of file AbstractBuffer.h.


Member Enumeration Documentation

Enumerator:
AB_STATE_UNUSED 
AB_STATE_INITIALIZING 
AB_STATE_READ_WRITE 
AB_STATE_READ_ONLY 
AB_STATE_FLUSH 
AB_STATE_FLUSH_COMPLETE 

Definition at line 44 of file AbstractBuffer.h.


Constructor & Destructor Documentation

AbstractBuffer::AbstractBuffer ( int  xsize,
int  xalignment 
) [inline]

Definition at line 84 of file AbstractBuffer.h.

References clear().

virtual AbstractBuffer::~AbstractBuffer (  )  [inline, virtual]

Definition at line 89 of file AbstractBuffer.h.

References clear().


Member Function Documentation

ABError AbstractBuffer::checkin_read ( int  read_offset  )  [virtual]
ABError AbstractBuffer::checkin_write ( int  write_offset  )  [virtual]
ABError AbstractBuffer::checkout_read ( int  read_offset,
int  read_size 
) [virtual]
ABError AbstractBuffer::checkout_write ( int *  write_offset,
int  write_size,
uint64_t  retries = (uint64_t) - 1 
) [virtual]
void AbstractBuffer::clear ( void   )  [virtual]
char* AbstractBuffer::data (  )  [inline]

Definition at line 93 of file AbstractBuffer.h.

References buffer.

void AbstractBuffer::destroy (  )  [virtual]
void AbstractBuffer::flush (  )  [virtual]
void AbstractBuffer::flush_complete (  )  [virtual]
void AbstractBuffer::full (  )  [virtual]
void AbstractBuffer::initialize (  )  [virtual]
int AbstractBuffer::offset (  )  [inline]
char& AbstractBuffer::operator[] ( int  idx  )  [inline]

Definition at line 97 of file AbstractBuffer.h.

References buffer, ink_assert, and size.

bool AbstractBuffer::switch_state ( VolatileState old_state,
VolatileState new_state 
) [inline]

Field Documentation

Definition at line 127 of file AbstractBuffer.h.

Referenced by checkout_write().

Definition at line 124 of file AbstractBuffer.h.

Referenced by clear(), data(), initialize(), and operator[]().

Definition at line 126 of file AbstractBuffer.h.

Referenced by checkout_write(), initialize(), and operator[]().

Definition at line 125 of file AbstractBuffer.h.

Referenced by clear(), and initialize().

VolatileState AbstractBuffer::vs_history[AB_STATE_FLUSH_COMPLETE+1]

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