Detailed Description
Public Member Functions |
| IOStack () |
| IOStack (class MemoryBlockPool *block_pool) |
| ~IOStack () |
unsigned int | Size () const |
bool | Empty () const |
void | Write (const uint8_t *data, unsigned int length) |
unsigned int | Read (uint8_t *data, unsigned int length) |
unsigned int | Read (std::string *output, unsigned int length) |
struct IOVec * | AsIOVec (int *io_count) const |
void | Pop (unsigned int n) |
void | MoveToIOQueue (class IOQueue *queue) |
void | Purge () |
void | Dump (std::ostream *output) |
Additional Inherited Members |
static void | FreeIOVec (const struct IOVec *iov) |
Constructor & Destructor Documentation
ola::io::IOStack::IOStack |
( |
| ) |
|
IOStack.
- Parameters
-
block_size | the size of blocks to use. |
ola::io::IOStack::~IOStack |
( |
| ) |
|
Member Function Documentation
struct IOVec * ola::io::IOStack::AsIOVec |
( |
int * |
iocnt | ) |
const |
|
readvirtual |
Return this IOStack as an array of IOVec structures. Note: The IOVec array points at internal memory structures. This array is invalidated when any non-const methods are called (Append, Pop etc.)
Is the IOStack is empty, this will return NULL and set iocnt to 0.
Use FreeIOVec() to release the IOVec array.
Implements ola::io::IOVecInterface.
void ola::io::IOStack::Dump |
( |
std::ostream * |
output | ) |
|
Dump this IOStack as a human readable string
void ola::io::IOStack::MoveToIOQueue |
( |
class IOQueue * |
queue | ) |
|
Append the memory blocks in this stack to the IOQueue. This transfers ownership of the MemoryBlocks to the queue, so the IOQueue and IOStack should have the same MemoryBlockPool (or at the very least, the same implementation).
void ola::io::IOStack::Pop |
( |
unsigned int |
bytes_to_remove | ) |
|
|
virtual |
unsigned int ola::io::IOStack::Read |
( |
uint8_t * |
data, |
|
|
unsigned int |
length |
|
) |
| |
|
virtual |
unsigned int ola::io::IOStack::Read |
( |
std::string * |
output, |
|
|
unsigned int |
length |
|
) |
| |
|
virtual |
unsigned int ola::io::IOStack::Size |
( |
| ) |
const |
|
virtual |
void ola::io::IOStack::Write |
( |
const uint8_t * |
data, |
|
|
unsigned int |
length |
|
) |
| |
|
virtual |
The documentation for this class was generated from the following files:
- include/ola/io/IOStack.h
- common/io/IOStack.cpp