Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
DEMO
Loading...
Searching...
No Matches
signet::forge::RetentionPolicy Struct Reference

Retention policy configuration for log lifecycle management. More...

#include <log_retention.hpp>

Public Attributes

int64_t min_retention_ns = INT64_C(15778800000000000)
 Minimum retention period in nanoseconds.
 
int64_t max_retention_ns = INT64_C(157788000000000000)
 Maximum retention period in nanoseconds.
 
int64_t archive_after_ns = INT64_C(31557600000000000)
 Archival threshold in nanoseconds.
 
uint64_t max_active_size_bytes = UINT64_C(10737418240)
 Maximum total size of active (non-archived) log files in bytes.
 
uint64_t max_active_files = 10000
 Maximum number of active log files.
 
std::string file_suffix = ".parquet"
 File name pattern to match (glob-style suffix).
 
bool enable_deletion = false
 If true, actually delete files past max_retention_ns.
 
bool enable_archival = false
 If true, actually archive files past archive_after_ns.
 

Detailed Description

Retention policy configuration for log lifecycle management.

Defined at namespace scope for Apple Clang compatibility.

Definition at line 45 of file log_retention.hpp.

Member Data Documentation

◆ archive_after_ns

int64_t signet::forge::RetentionPolicy::archive_after_ns = INT64_C(31557600000000000)

Archival threshold in nanoseconds.

Logs older than min_retention_ns but younger than max_retention_ns are candidates for archival (cold storage). Default: 1 year (~3.156 × 10^16 ns).

Definition at line 60 of file log_retention.hpp.

◆ enable_archival

bool signet::forge::RetentionPolicy::enable_archival = false

If true, actually archive files past archive_after_ns.

If false, only report what would be archived (dry-run).

Definition at line 83 of file log_retention.hpp.

◆ enable_deletion

bool signet::forge::RetentionPolicy::enable_deletion = false

If true, actually delete files past max_retention_ns.

If false, only report what would be deleted (dry-run).

Definition at line 79 of file log_retention.hpp.

◆ file_suffix

std::string signet::forge::RetentionPolicy::file_suffix = ".parquet"

File name pattern to match (glob-style suffix).

Only files matching this pattern are managed. Default: ".parquet"

Definition at line 75 of file log_retention.hpp.

◆ max_active_files

uint64_t signet::forge::RetentionPolicy::max_active_files = 10000

Maximum number of active log files.

When exceeded, oldest files are archived first. Default: 10000 (effectively unlimited).

Definition at line 70 of file log_retention.hpp.

◆ max_active_size_bytes

uint64_t signet::forge::RetentionPolicy::max_active_size_bytes = UINT64_C(10737418240)

Maximum total size of active (non-archived) log files in bytes.

When exceeded, oldest files are archived first. Default: 10 GB.

Definition at line 65 of file log_retention.hpp.

◆ max_retention_ns

int64_t signet::forge::RetentionPolicy::max_retention_ns = INT64_C(157788000000000000)

Maximum retention period in nanoseconds.

Logs older than this are eligible for permanent deletion. Default: 5 years (~1.578 × 10^17 ns) — MiFID II RTS 24 Art.4.

Definition at line 54 of file log_retention.hpp.

◆ min_retention_ns

int64_t signet::forge::RetentionPolicy::min_retention_ns = INT64_C(15778800000000000)

Minimum retention period in nanoseconds.

Logs younger than this are never deleted or archived. Default: 6 months (~1.578 × 10^16 ns) — EU AI Act Art.12(3) minimum.

Definition at line 49 of file log_retention.hpp.


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