#include <AbstractBuffer.h>

| 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] | 
Definition at line 41 of file AbstractBuffer.h.
| 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.
| 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().
| ABError AbstractBuffer::checkin_read | ( | int | read_offset | ) |  [virtual] | 
Definition at line 157 of file AbstractBuffer.cc.
References AB_STATE_FLUSH_COMPLETE, AB_STATE_UNUSED, destroy(), ink_assert, AbstractBuffer::VolatileState::offset, AbstractBuffer::VolatileState::reader_count, AbstractBuffer::VolatileState::s, AbstractBuffer::VolatileState::state, switch_state(), and vs.
Referenced by AbstractBufferReader::~AbstractBufferReader().
| ABError AbstractBuffer::checkin_write | ( | int | write_offset | ) |  [virtual] | 
Definition at line 118 of file AbstractBuffer.cc.
References AB_STATE_READ_ONLY, AB_STATE_READ_WRITE, flush(), ink_assert, AbstractBuffer::VolatileState::offset, AbstractBuffer::VolatileState::s, AbstractBuffer::VolatileState::state, switch_state(), vs, vs_history, and AbstractBuffer::VolatileState::writer_count.
Referenced by AbstractBufferWriter::~AbstractBufferWriter().
| ABError AbstractBuffer::checkout_read | ( | int | read_offset, | |
| int | read_size | |||
| ) |  [virtual] | 
Definition at line 89 of file AbstractBuffer.cc.
References AB_STATE_FLUSH, AB_STATE_READ_ONLY, AB_STATE_READ_WRITE, AbstractBuffer::VolatileState::offset, AbstractBuffer::VolatileState::reader_count, AbstractBuffer::VolatileState::s, AbstractBuffer::VolatileState::state, switch_state(), and vs.
| ABError AbstractBuffer::checkout_write | ( | int * | write_offset, | |
| int | write_size, | |||
| uint64_t | retries = (uint64_t) - 1 | |||
| ) |  [virtual] | 
Definition at line 35 of file AbstractBuffer.cc.
References AB_STATE_READ_WRITE, AB_STATE_UNUSED, alignment, full(), initialize(), INK_ALIGN, ink_assert, AbstractBuffer::VolatileState::offset, AbstractBuffer::VolatileState::s, size, AbstractBuffer::VolatileState::state, switch_state(), vs, vs_history, and AbstractBuffer::VolatileState::writer_count.
| void AbstractBuffer::clear | ( | void | ) |  [virtual] | 
Definition at line 289 of file AbstractBuffer.cc.
References buffer, AbstractBuffer::VolatileState::offset, AbstractBuffer::VolatileState::reader_count, AbstractBuffer::VolatileState::s, AbstractBuffer::VolatileState::state, unaligned_buffer, vs, vs_history, and AbstractBuffer::VolatileState::writer_count.
Referenced by AbstractBuffer(), and ~AbstractBuffer().
| char* AbstractBuffer::data | ( | ) |  [inline] | 
Definition at line 93 of file AbstractBuffer.h.
References buffer.
| void AbstractBuffer::destroy | ( | ) |  [virtual] | 
Definition at line 273 of file AbstractBuffer.cc.
References AB_STATE_FLUSH_COMPLETE, ink_assert, AbstractBuffer::VolatileState::offset, AbstractBuffer::VolatileState::reader_count, AbstractBuffer::VolatileState::s, AbstractBuffer::VolatileState::state, vs, vs_history, and AbstractBuffer::VolatileState::writer_count.
Referenced by checkin_read(), and flush_complete().
| void AbstractBuffer::flush | ( | ) |  [virtual] | 
Definition at line 231 of file AbstractBuffer.cc.
References AB_STATE_FLUSH, ink_assert, AbstractBuffer::VolatileState::s, AbstractBuffer::VolatileState::state, vs, and AbstractBuffer::VolatileState::writer_count.
Referenced by checkin_write(), and full().
| void AbstractBuffer::flush_complete | ( | ) |  [virtual] | 
Definition at line 241 of file AbstractBuffer.cc.
References AB_STATE_FLUSH, destroy(), ink_assert, AbstractBuffer::VolatileState::reader_count, AbstractBuffer::VolatileState::s, AbstractBuffer::VolatileState::state, switch_state(), vs, vs_history, and AbstractBuffer::VolatileState::writer_count.
| void AbstractBuffer::full | ( | ) |  [virtual] | 
Definition at line 207 of file AbstractBuffer.cc.
References AB_STATE_READ_ONLY, flush(), AbstractBuffer::VolatileState::s, AbstractBuffer::VolatileState::state, switch_state(), vs, vs_history, and AbstractBuffer::VolatileState::writer_count.
Referenced by checkout_write().
| void AbstractBuffer::initialize | ( | ) |  [virtual] | 
Definition at line 186 of file AbstractBuffer.cc.
References AB_STATE_INITIALIZING, align_pointer_forward(), buffer, ink_assert, AbstractBuffer::VolatileState::offset, AbstractBuffer::VolatileState::reader_count, AbstractBuffer::VolatileState::s, size, AbstractBuffer::VolatileState::state, unaligned_buffer, vs, vs_history, and AbstractBuffer::VolatileState::writer_count.
Referenced by checkout_write().
| int AbstractBuffer::offset | ( | ) |  [inline] | 
Definition at line 103 of file AbstractBuffer.h.
References AbstractBuffer::VolatileState::offset, AbstractBuffer::VolatileState::s, and vs.
| 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] | 
Definition at line 175 of file AbstractBuffer.h.
References AbstractBuffer::VolatileState::ival, and vs.
Referenced by checkin_read(), checkin_write(), checkout_read(), checkout_write(), flush_complete(), and full().
Definition at line 127 of file AbstractBuffer.h.
Referenced by checkout_write().
| char* AbstractBuffer::buffer | 
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().
| volatile VolatileState AbstractBuffer::vs | 
Definition at line 123 of file AbstractBuffer.h.
Referenced by checkin_read(), checkin_write(), checkout_read(), checkout_write(), clear(), destroy(), flush(), flush_complete(), full(), initialize(), offset(), and switch_state().
| VolatileState AbstractBuffer::vs_history[AB_STATE_FLUSH_COMPLETE+1] | 
Definition at line 130 of file AbstractBuffer.h.
Referenced by checkin_write(), checkout_write(), clear(), destroy(), flush_complete(), full(), and initialize().
 1.7.1
 1.7.1