From e05db73784dd39b6d9385ef11e33a9d28463d3c7 Mon Sep 17 00:00:00 2001 From: KushalMeghani1644 Date: Tue, 26 Aug 2025 16:12:48 +0530 Subject: [PATCH] Fixed subscription.rs, added better docs and improved readability along with idiomatic changes --- cosmic-config/src/subscription.rs | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/cosmic-config/src/subscription.rs b/cosmic-config/src/subscription.rs index 64255954..9469c2bc 100644 --- a/cosmic-config/src/subscription.rs +++ b/cosmic-config/src/subscription.rs @@ -5,12 +5,18 @@ use std::{borrow::Cow, hash::Hash}; use crate::{Config, CosmicConfigEntry}; +/// Represents the state of a configuration watcher. +#[derive(Debug)] pub enum ConfigState { + /// Initial state before the configuration is loaded. Init(Cow<'static, str>, u64, bool), + /// Waiting for updates, holding current config and watcher. Waiting(T, RecommendedWatcher, mpsc::Receiver>, Config), - Failed, + /// Permanent failure state. + Failed(String), } +#[derive(Debug)] pub enum ConfigUpdate { Update(crate::Update), Failed, @@ -48,7 +54,6 @@ fn watcher_stream { @@ -97,7 +102,7 @@ async fn start_listening ConfigState::Failed, + None => ConfigState::Failed("channel closed".into()), }, ConfigState::Failed => pending().await, }