|
| 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) |
|
const struct IOVec * | AsIOVec (int *io_count) const |
|
void | Pop (unsigned int n) |
|
void | MoveToIOQueue (class IOQueue *queue) |
|
void | Purge () |
|
void | Dump (std::ostream *output) |
|
|
static void | FreeIOVec (const struct IOVec *iov) |
|
ola::io::IOStack::IOStack |
( |
| ) |
|
ola::io::IOStack::~IOStack |
( |
| ) |
|
const struct IOVec * ola::io::IOStack::AsIOVec |
( |
int * |
iocnt | ) |
const |
|
virtual |
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