futu_cache/static_data/
readiness.rs1pub use futu_domain_static_data::StaticDataReadiness;
2use futu_domain_static_data::{StockListSyncFacts, stock_list_readiness_for_facts};
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub struct StockListSyncStatus {
6 pub first_sync_done: bool,
7 pub started_total: u64,
8 pub finished_total: u64,
9 pub failed_total: u64,
10 pub recoverable_retry_total: u64,
11 pub zero_delta_total: u64,
12 pub converged: bool,
13 pub last_version: u64,
14 pub last_total_stocks: u64,
15 pub last_cached_count: u64,
16 pub last_finished_ms: Option<u64>,
17}
18
19impl StockListSyncStatus {
20 #[must_use]
21 pub fn readiness_for_security_count(&self, security_count: usize) -> StaticDataReadiness {
22 stock_list_readiness_for_facts(&self.domain_facts(), security_count)
23 }
24
25 #[must_use]
26 pub fn domain_facts(&self) -> StockListSyncFacts {
27 StockListSyncFacts {
28 first_sync_done: self.first_sync_done,
29 started_total: self.started_total,
30 finished_total: self.finished_total,
31 failed_total: self.failed_total,
32 recoverable_retry_total: self.recoverable_retry_total,
33 converged: self.converged,
34 }
35 }
36}