4#ifndef cwist_session_manager_h
5#define cwist_session_manager_h
void session_arena_init(struct session_arena *arena, uint8_t *buffer, size_t capacity)
Initialize a session arena.
void session_shared_dec(void *payload)
Decrement reference count and free if zero.
void session_manager_reset(struct session_manager *manager)
Reset session manager.
void * session_shared_alloc(size_t payload_size, void(*destructor)(void *))
Allocate shared session memory.
void session_arena_reset(struct session_arena *arena)
Reset a session arena.
void * session_arena_alloc(struct session_arena *arena, size_t size)
Allocate from a session arena.
void session_shared_inc(void *payload)
Increment reference count.
void session_manager_init(struct session_manager *manager, uint8_t *buffer, size_t capacity)
Initialize session manager.
void session_rc_init(struct session_rc_header *header, void(*destructor)(void *))
Initialize reference-counted header.
Linear arena used for fast request-lifetime allocations.
Top-level session allocator state owned by a request context.
struct session_arena request_arena