torrust-actix 4.2.15

A rich, fast and efficient Bittorrent Tracker.
use crate::tracker::structs::announce_entry::AnnounceEntry;
use crate::tracker::structs::torrent_entry::TorrentEntry;
use crate::tracker::structs::torrent_update_data::TorrentUpdateData;

impl From<&TorrentEntry> for TorrentUpdateData {
    fn from(entry: &TorrentEntry) -> Self {
        TorrentUpdateData {
            seeds_ipv4: entry.seeds.len() as u64,
            seeds_ipv6: entry.seeds_ipv6.len() as u64,
            peers_ipv4: entry.peers.len() as u64,
            peers_ipv6: entry.peers_ipv6.len() as u64,
            rtc_seeds: entry.rtc_seeds.len() as u64,
            rtc_peers: entry.rtc_peers.len() as u64,
            completed: entry.completed,
        }
    }
}

impl From<&AnnounceEntry> for TorrentUpdateData {
    fn from(entry: &AnnounceEntry) -> Self {
        TorrentUpdateData {
            seeds_ipv4: entry.counts.seeds_ipv4 as u64,
            seeds_ipv6: entry.counts.seeds_ipv6 as u64,
            peers_ipv4: entry.counts.peers_ipv4 as u64,
            peers_ipv6: entry.counts.peers_ipv6 as u64,
            rtc_seeds: entry.rtc_seeds.len() as u64,
            rtc_peers: entry.rtc_peers.len() as u64,
            completed: entry.completed,
        }
    }
}