Data-Log-Shared
view release on metacpan or search on metacpan
typedef struct {
uint32_t magic;
uint32_t version;
uint64_t data_size; /* 8: usable data region size */
uint64_t total_size; /* 16 */
uint64_t data_off; /* 24 */
uint8_t _pad0[32]; /* 32-63 */
uint64_t tail; /* 64: byte offset past last entry (CAS target) */
uint64_t count; /* 72: number of committed entries */
uint32_t waiters; /* 80: blocked tailers */
uint32_t wake_seq; /* 84: FUTEX_WAIT target (avoids 64-bit count wraparound) */
uint64_t stat_appends; /* 88 */
uint64_t stat_waits; /* 96 */
uint64_t stat_timeouts; /* 104 */
uint64_t truncation; /* 112: entries before this offset are invalid */
uint8_t _pad2[8]; /* 120-127 */
} LogHeader;
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
_Static_assert(sizeof(LogHeader) == 128, "LogHeader must be 128 bytes");
( run in 0.465 second using v1.01-cache-2.11-cpan-e1769b4cff6 )