Arena (C-API)

This page describes the C implementation of Arena

enum a0_arena_mode_t

Values:

enumerator A0_ARENA_MODE_SHARED

The arena may be simultaneously shared by other processes. Notification and locks are be enabled.

enumerator A0_ARENA_MODE_EXCLUSIVE

A promise that the arena will NOT be simultaneously accessed by any other processes. Notification and locks are be disabled.

enumerator A0_ARENA_MODE_READONLY

A promise that the arena will NOT be simultaneously written by any other processes. This process my not write to the arena. Notification and locks are be disabled.

struct a0_arena_t

An arena can be any contiguous memory buffer.

Public Members

a0_buf_t buf

Pointer to the contiguous memory buffer.

a0_arena_mode_t mode

Mode describing how the arena will be used in this process and how it is simultaneously used by other processes.

Should default to A0_ARENA_MODE_SHARED. Other modes can easily corrupt the arena content if other processes write or access the arena simultaneously. Be careful.