Skip to main content

Crate irontide_settings

Crate irontide_settings 

Source
Expand description

Unified settings pack for session configuration.

Replaces the old SessionConfig with a single strongly-typed struct that consolidates all configurable knobs. Supports presets, validation, and serde serialization (bencode + JSON).

Macros§

for_each_delta_setting
Live-reconfigurable settings projected into SettingsDelta (28) — the M247b SSOT for SettingsDelta::from_diff / is_empty. The subset of Settings propagated to running torrents by apply_settings. Per entry: the source Settings field (src), the SettingsDelta field name (delta, differs only for max_peers), and whether from_diff clones the value (clone: true for the non-Copy PathBuf/String payloads). Type metadata is intentionally absent: the SettingsDelta struct stays hand-written (M247b plan D3), so only diff/emptiness projection is generated. Entry order matches from_diff for readability; correctness does not depend on it (distinct fields). Invoke with an emitter: for_each_delta_setting!(emit_x);
for_each_proxy_setting
Nested ProxyConfig fields (9; accessed via self.proxy.<name>).
for_each_qbt_compat_setting
Nested QbtCompatSettings fields (20; accessed via self.qbt_compat.<name>).
for_each_setting
Top-level Settings fields (192). Invoke with an emitter: for_each_setting!(emit_x);

Structs§

QbtCompatSettings
qBittorrent WebUI v2 compatibility layer configuration.
Settings
Unified session settings (replaces SessionConfig).

Enums§

MaxRatioAction
M171: Action taken when a torrent’s seed ratio reaches its configured limit.
QbtCredentialMigration
Outcome of a legacy-plaintext migration pass (M172a A3 / C2).
QbtMigrationError
Errors raised by migrate_qbt_credentials.
SettingsError
Validation failure produced by Settings::validate.

Constants§

DEFAULT_ADMINADMIN_HASH
Argon2id PHC hash of the default “adminadmin” password (M172a A3).

Functions§

default_ban_duration_secs
Default for QbtCompatSettings::ban_duration_secs.
default_max_failed_auth_count
Default for QbtCompatSettings::max_failed_auth_count.
hash_qbt_password
Hash plaintext with OWASP-recommended argon2id parameters and return the PHC-format encoded string (M172a).
migrate_qbt_credentials
One-shot legacy-plaintext → argon2id migration for QbtCompatSettings.