#[derive(Debug, Clone, serde::Deserialize, PartialEq, Eq)]
pub struct TransferInfo {
pub dl_info_speed: u64,
pub dl_info_data: u64,
pub up_info_speed: u64,
pub up_info_data: u64,
pub dl_rate_limit: u64,
pub up_rate_limit: u64,
pub dht_nodes: u64,
pub connection_status: ConnectionStatus,
}
#[derive(Debug, Clone, serde::Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub enum ConnectionStatus {
Connected,
Disconnected,
Firewalled,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SpeedLimits {
#[serde(rename = "up_limit")]
pub upload_limit: i64,
#[serde(rename = "dl_limit")]
pub download_limit: i64,
#[serde(rename = "alt_up_limit")]
pub alternative_upload_limit: i64,
#[serde(rename = "alt_dl_limit")]
pub alternative_download_limit: i64,
}