NetBurner 3.5.6
PDF Version
buffer_list Class Reference

Doubly-linked list management for buffers. More...

#include <buffers.h>

Public Member Functions

void InsertHead (PoolPtr buffer)
 Insert buffer at the head of the list.
 
void InsertTail (PoolPtr buffer)
 Insert buffer at the tail of the list.
 
void InsertBefore (PoolPtr buf2insert, PoolPtr b4buffer)
 Insert buffer before specified buffer in list.
 
void InsertAfter (PoolPtr buf2insert, PoolPtr after_buffer)
 Insert buffer after specified buffer in list.
 
void Remove (PoolPtr buffer)
 Remove specified buffer from the list.
 
PoolPtr RemoveHead ()
 Remove and return the head buffer.
 
PoolPtr RemoveTail ()
 Remove and return the tail buffer.
 
uint16_t GetCount ()
 Get current number of buffers in the list.
 

Public Attributes

PoolPtr m_Head
 First buffer in the list.
 
PoolPtr m_Tail
 Last buffer in the list.
 
uint16_t m_wElements
 Current number of elements in list.
 

Detailed Description

Doubly-linked list management for buffers.

Provides efficient insertion, removal, and traversal operations for managing lists of pool_buffer structures. Used internally by the buffer system and FIFO storage classes.

Member Function Documentation

◆ GetCount()

uint16_t buffer_list::GetCount ( )
inline

Get current number of buffers in the list.

Returns
Number of buffers

◆ InsertAfter()

void buffer_list::InsertAfter ( PoolPtr buf2insert,
PoolPtr after_buffer )

Insert buffer after specified buffer in list.

Parameters
buf2insertBuffer to insert
after_bufferBuffer to insert after

◆ InsertBefore()

void buffer_list::InsertBefore ( PoolPtr buf2insert,
PoolPtr b4buffer )

Insert buffer before specified buffer in list.

Parameters
buf2insertBuffer to insert
b4bufferBuffer to insert before

◆ InsertHead()

void buffer_list::InsertHead ( PoolPtr buffer)

Insert buffer at the head of the list.

Parameters
bufferBuffer to insert

◆ InsertTail()

void buffer_list::InsertTail ( PoolPtr buffer)

Insert buffer at the tail of the list.

Parameters
bufferBuffer to insert

◆ Remove()

void buffer_list::Remove ( PoolPtr buffer)

Remove specified buffer from the list.

Parameters
bufferBuffer to remove

◆ RemoveHead()

PoolPtr buffer_list::RemoveHead ( )

Remove and return the head buffer.

Returns
Head buffer, or NULL if list is empty

◆ RemoveTail()

PoolPtr buffer_list::RemoveTail ( )

Remove and return the tail buffer.

Returns
Tail buffer, or NULL if list is empty

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