pub struct WebSeedStats {
pub url: String,
pub state: WebSeedState,
pub downloaded_bytes: u64,
pub last_rate_bps: u64,
pub last_error: Option<String>,
pub consecutive_failures: u32,
pub last_attempt_unix_secs: u64,
pub next_retry_unix_secs: Option<u64>,
}Expand description
Per-URL stats for a single web-seed source, surfaced to the qBt v2
/api/v2/torrents/webseeds endpoint and the GUI’s HTTP Sources tab.
consecutive_failures resets to zero on a successful chunk; within a
failure run it monotonically increments. last_error PERSISTS through
the Errored→Active transition so the GUI can show “currently active,
last failed with X” — intentional per Issue 2.2 / D-eng-8.
next_retry_unix_secs is forward-compatible with M186’s BEP 17/19
retry-with-backoff logic (D-eng-9 / Issue 2.3); always None in M178.
Fields§
§url: StringWeb-seed URL (BEP 19 url-list or BEP 17 httpseeds entry).
state: WebSeedStateCoarse current state. See WebSeedState.
downloaded_bytes: u64Cumulative bytes downloaded from this URL since first observation.
last_rate_bps: u64Rate at the most recent emission, computed over the throttle window.
last_error: Option<String>Most recently observed error message; persists through recovery (Issue 2.2 / D-eng-8).
consecutive_failures: u32Consecutive failures since the last success. Resets to zero on a successful chunk; monotonically increments within a failure run.
last_attempt_unix_secs: u64Unix timestamp of the most recent emission (success or failure).
next_retry_unix_secs: Option<u64>M186 forward-compat (D-eng-9): when set, the unix timestamp at
which BEP 17/19 retry-with-backoff will next attempt this URL.
Always None in M178; populated once the retry logic ships.
Trait Implementations§
Source§impl Clone for WebSeedStats
impl Clone for WebSeedStats
Source§fn clone(&self) -> WebSeedStats
fn clone(&self) -> WebSeedStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WebSeedStats
impl Debug for WebSeedStats
Source§impl Default for WebSeedStats
impl Default for WebSeedStats
Source§fn default() -> WebSeedStats
fn default() -> WebSeedStats
Source§impl<'de> Deserialize<'de> for WebSeedStats
impl<'de> Deserialize<'de> for WebSeedStats
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<WebSeedStats, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<WebSeedStats, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for WebSeedStats
impl PartialEq for WebSeedStats
Source§fn eq(&self, other: &WebSeedStats) -> bool
fn eq(&self, other: &WebSeedStats) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for WebSeedStats
impl Serialize for WebSeedStats
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for WebSeedStats
impl StructuralPartialEq for WebSeedStats
Auto Trait Implementations§
impl Freeze for WebSeedStats
impl RefUnwindSafe for WebSeedStats
impl Send for WebSeedStats
impl Sync for WebSeedStats
impl Unpin for WebSeedStats
impl UnsafeUnpin for WebSeedStats
impl UnwindSafe for WebSeedStats
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.