A11 (C++ runtime)
Native C++ implementation of the A11 streaming action runtime
Loading...
Searching...
No Matches
a11::stores::SQLiteChunkStoreOptions Struct Reference

Storage layout policy for SQLiteChunkStore. More...

#include <cpp/a11/stores/sqlite_chunk_store.h>

Public Member Functions

absl::Status Validate () const
 Validate the threshold, owner id and durations.
 

Static Public Member Functions

static absl::StatusOr< SQLiteChunkStoreOptions > FromEnvironment ()
 Read storage policy from the A11_SQLITE_CHUNK_STORE_* environment values.
 

Public Attributes

size_t inline_data_threshold = 128 * 1024
 Payloads strictly larger than this move out of the row into a blob file.
 
std::string owner_id
 Recorded on the node row as its owner.
 
internal::SqliteSynchronous synchronous
 Durability level applied with PRAGMA synchronous.
 
absl::Duration cross_process_poll_interval = absl::ZeroDuration()
 How often to look for commits made by other processes, or zero to disable.
 
absl::Duration blob_grace_period = absl::Hours(1)
 How long an unreferenced blob must survive before a sweep may remove it.
 

Friends

bool operator== (const SQLiteChunkStoreOptions &, const SQLiteChunkStoreOptions &)=default
 

Detailed Description

Storage layout policy for SQLiteChunkStore.

Member Function Documentation

◆ FromEnvironment()

absl::StatusOr< SQLiteChunkStoreOptions > a11::stores::SQLiteChunkStoreOptions::FromEnvironment ( )
static

Read storage policy from the A11_SQLITE_CHUNK_STORE_* environment values.

◆ Validate()

absl::Status a11::stores::SQLiteChunkStoreOptions::Validate ( ) const

Validate the threshold, owner id and durations.

Friends And Related Symbol Documentation

◆ operator==

bool operator== ( const SQLiteChunkStoreOptions &  ,
const SQLiteChunkStoreOptions &   
)
friend

Member Data Documentation

◆ blob_grace_period

absl::Duration a11::stores::SQLiteChunkStoreOptions::blob_grace_period = absl::Hours(1)

How long an unreferenced blob must survive before a sweep may remove it.

◆ cross_process_poll_interval

absl::Duration a11::stores::SQLiteChunkStoreOptions::cross_process_poll_interval = absl::ZeroDuration()

How often to look for commits made by other processes, or zero to disable.

SQLite's change hooks are per-connection, so a writer in another process cannot wake a reader parked in this one. Zero – the default – means in-process notification only, which is exact and never polls.

◆ inline_data_threshold

size_t a11::stores::SQLiteChunkStoreOptions::inline_data_threshold = 128 * 1024

Payloads strictly larger than this move out of the row into a blob file.

Keeping small payloads inline avoids a file per chunk; keeping large ones out of the row keeps the database page cache useful and the WAL small.

◆ owner_id

std::string a11::stores::SQLiteChunkStoreOptions::owner_id

Recorded on the node row as its owner.

Ownership carries no enforcement yet; it exists so nodes can be attributed and filtered.

◆ synchronous

internal::SqliteSynchronous a11::stores::SQLiteChunkStoreOptions::synchronous
Initial value:
=
internal::SqliteSynchronous::kNormal

Durability level applied with PRAGMA synchronous.


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