Skip to content

Instantly share code, notes, and snippets.

@de-sh
Created August 6, 2020 08:22
Show Gist options
  • Save de-sh/d503d46ebe78e3e46bd2eb9b14b3b4bb to your computer and use it in GitHub Desktop.
Save de-sh/d503d46ebe78e3e46bd2eb9b14b3b4bb to your computer and use it in GitHub Desktop.
#[derive(Clone, Serialize, Deserialize, PartialEq, Debug, Configuration)]
#[serde(default)]
#[serde(rename_all = "kebab-case")]
pub struct DbConfig {
#[config(skip)]
pub info_log_level: LogLevel,
#[serde(with = "rocks_config::recovery_mode_serde")]
#[config(skip)]
pub wal_recovery_mode: DBRecoveryMode,
#[config(skip)]
pub wal_dir: String,
#[config(skip)]
pub wal_ttl_seconds: u64,
#[config(skip)]
pub wal_size_limit: ReadableSize,
pub max_total_wal_size: ReadableSize,
pub max_background_jobs: i32,
#[config(skip)]
pub max_manifest_file_size: ReadableSize,
#[config(skip)]
pub create_if_missing: bool,
pub max_open_files: i32,
#[config(skip)]
pub enable_statistics: bool,
#[config(skip)]
pub stats_dump_period: ReadableDuration,
pub compaction_readahead_size: ReadableSize,
#[config(skip)]
pub info_log_max_size: ReadableSize,
#[config(skip)]
pub info_log_roll_time: ReadableDuration,
#[config(skip)]
pub info_log_keep_log_file_num: u64,
#[config(skip)]
pub info_log_dir: String,
pub rate_bytes_per_sec: ReadableSize,
#[config(skip)]
pub rate_limiter_refill_period: ReadableDuration,
#[serde(with = "rocks_config::rate_limiter_mode_serde")]
#[config(skip)]
pub rate_limiter_mode: DBRateLimiterMode,
#[config(skip)]
pub auto_tuned: bool,
pub bytes_per_sync: ReadableSize,
pub wal_bytes_per_sync: ReadableSize,
#[config(skip)]
pub max_sub_compactions: u32,
pub writable_file_max_buffer_size: ReadableSize,
#[config(skip)]
pub use_direct_io_for_flush_and_compaction: bool,
#[config(skip)]
pub enable_pipelined_write: bool,
#[config(skip)]
pub enable_multi_batch_write: bool,
#[config(skip)]
pub enable_unordered_write: bool,
#[config(submodule)]
pub defaultcf: DefaultCfConfig,
#[config(submodule)]
pub writecf: WriteCfConfig,
#[config(submodule)]
pub lockcf: LockCfConfig,
#[config(submodule)]
pub raftcf: RaftCfConfig,
#[config(submodule)]
pub ver_defaultcf: VersionCfConfig,
#[config(skip)]
pub titan: TitanDBConfig,
#[cfg(feature = "cloud")]
#[config(skip)]
pub s3: S3Config,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment