ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
buffer_node Struct Reference

Node header embedded before user data. More...

#include <lib/buffer_pool.h>

Public Member Functions

 _Atomic (struct buffer_node *) next
 Next in free list (atomic for lock-free)
 
 _Atomic (uint64_t) returned_at_ms
 Timestamp when returned to free list.
 

Data Fields

uint32_t magic
 Magic to identify pooled buffers.
 
uint32_t _pad
 Padding for alignment.
 
size_t size
 Size of user data portion.
 
struct buffer_poolpool
 Owning pool (for free)
 

Detailed Description

Node header embedded before user data.

Layout in memory: [buffer_node_t header][user data...] ^– pointer returned to caller

Definition at line 76 of file buffer_pool.h.

Member Function Documentation

◆ _Atomic() [1/2]

buffer_node::_Atomic ( struct buffer_node )

Next in free list (atomic for lock-free)

◆ _Atomic() [2/2]

buffer_node::_Atomic ( uint64_t  )

Timestamp when returned to free list.

Field Documentation

◆ _pad

uint32_t buffer_node::_pad

Padding for alignment.

Definition at line 78 of file buffer_pool.h.

Referenced by buffer_pool_alloc().

◆ magic

uint32_t buffer_node::magic

Magic to identify pooled buffers.

Definition at line 77 of file buffer_pool.h.

Referenced by buffer_pool_alloc(), and buffer_pool_free().

◆ pool

struct buffer_pool* buffer_node::pool

Owning pool (for free)

Definition at line 82 of file buffer_pool.h.

Referenced by buffer_pool_alloc(), and buffer_pool_free().

◆ size

size_t buffer_node::size

Size of user data portion.

Definition at line 79 of file buffer_pool.h.

Referenced by buffer_pool_alloc(), buffer_pool_free(), and buffer_pool_shrink().


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