Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
DEMO
Loading...
Searching...
No Matches
wal.hpp File Reference

Write-Ahead Log (WAL) with sub-millisecond append, CRC-32 integrity, crash recovery, and automatic segment rolling. More...

#include <algorithm>
#include <array>
#include <cassert>
#include <cstdint>
#include <cstdio>
#include <cstring>
#include <ctime>
#include <filesystem>
#include <memory>
#include <mutex>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include <fcntl.h>
#include <unistd.h>
#include "signet/error.hpp"
#include "signet/types.hpp"
#include "signet/ai/wal_mapped_segment.hpp"

Go to the source code of this file.

Classes

struct  signet::forge::WalEntry
 A single decoded WAL record returned by WalReader::next() or read_all(). More...
 
struct  signet::forge::WalWriterOptions
 Configuration options for WalWriter::open(). More...
 
class  signet::forge::WalWriter
 Append-only Write-Ahead Log writer with CRC-32 integrity per record. More...
 
class  signet::forge::WalReader
 Sequential WAL file reader for crash recovery and replay. More...
 
struct  signet::forge::WalManagerOptions
 Configuration options for WalManager::open(). More...
 
class  signet::forge::WalManager
 Manages multiple rolling WAL segment files in a directory. More...
 

Namespaces

namespace  signet
 
namespace  signet::forge
 
namespace  signet::forge::detail
 Internal implementation details for dictionary encoding.
 

Typedefs

using signet::forge::WalRecord = WalEntry
 Alias so callers can use either WalEntry or WalRecord.
 

Enumerations

enum class  signet::forge::WalLifecycleMode : uint8_t { signet::forge::Development = 0 , signet::forge::Benchmark = 1 , signet::forge::Production = 2 }
 Controls safety guardrails for WAL segment lifecycle operations. More...
 

Functions

uint32_t signet::forge::detail::crc32 (const void *data, size_t length) noexcept
 Compute CRC-32 over a contiguous byte buffer (polynomial 0xEDB88320).
 
uint32_t signet::forge::detail::crc32_combine (uint32_t crc_a, const void *data_b, size_t len_b) noexcept
 Combine two CRC regions without concatenating buffers.
 
int64_t signet::forge::detail::now_ns () noexcept
 Return nanoseconds since Unix epoch (cross-platform).
 
void signet::forge::detail::write_le32 (uint8_t *dst, uint32_t v) noexcept
 Write a 32-bit unsigned integer in little-endian byte order.
 
void signet::forge::detail::write_le64 (uint8_t *dst, uint64_t v) noexcept
 Write a 64-bit unsigned integer in little-endian byte order.
 
uint32_t signet::forge::detail::read_le32 (const uint8_t *src) noexcept
 Read a 32-bit unsigned integer from little-endian byte order.
 
uint64_t signet::forge::detail::read_le64 (const uint8_t *src) noexcept
 Read a 64-bit unsigned integer from little-endian byte order.
 
int signet::forge::detail::full_fsync (int fd) noexcept
 Force durable flush to storage media.
 

Detailed Description

Write-Ahead Log (WAL) with sub-millisecond append, CRC-32 integrity, crash recovery, and automatic segment rolling.

Definition in file wal.hpp.