Skip to main content

quantrs2_device/telemetry/
storageconfig_traits.rs

1//! # StorageConfig - Trait Implementations
2//!
3//! This module contains trait implementations for `StorageConfig`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Default`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11#[cfg(not(feature = "scirs2"))]
12use fallback_scirs2::*;
13use quantrs2_circuit::prelude::*;
14use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
15
16use super::types::{
17    CompressionAlgorithm, CompressionConfig, PersistenceConfig, StorageBackend, StorageConfig,
18};
19
20impl Default for StorageConfig {
21    fn default() -> Self {
22        Self {
23            realtime_buffer_size: 10000,
24            aggregation_intervals: vec![
25                Duration::from_secs(60),
26                Duration::from_secs(3600),
27                Duration::from_secs(86400),
28            ],
29            compression: CompressionConfig {
30                enabled: true,
31                algorithm: CompressionAlgorithm::Gzip,
32                ratio_threshold: 0.7,
33            },
34            persistence: PersistenceConfig {
35                enabled: true,
36                backend: StorageBackend::Memory,
37                batch_size: 1000,
38                write_interval: Duration::from_secs(60),
39            },
40        }
41    }
42}