lt_rs/alerts/implementations/
tracker_warning.rs

1use crate::{
2    alerts::{TrackerWarningAlert, protocol_version::ProtocolVersion},
3    ffi::alerts::tracker_warning::ffi::{
4        tracker_warning_alert_get_version, tracker_warning_alert_get_warning_message,
5    },
6    torrent_handle::TorrentHandle,
7};
8
9impl TrackerWarningAlert {
10    #[inline(always)]
11    pub fn handle(&self) -> TorrentHandle {
12        self.as_torrent_alert().handle()
13    }
14
15    #[inline(always)]
16    pub fn torrent_name<'a>(&'a self) -> &'a str {
17        self.as_torrent_alert().torrent_name()
18    }
19
20    #[inline(always)]
21    pub fn message(&self) -> String {
22        self.as_torrent_alert().message()
23    }
24
25    #[inline(always)]
26    pub fn tracker_url<'a>(&'a self) -> &'a str {
27        self.as_tracker_alert().tracker_url()
28    }
29
30    #[inline(always)]
31    pub fn local_endpoint(&self) {
32        self.as_tracker_alert().local_endpoint()
33    }
34
35    #[inline(always)]
36    pub fn warning_message<'a>(&'a self) -> &'a str {
37        unsafe { tracker_warning_alert_get_warning_message(self.0) }
38    }
39
40    #[inline(always)]
41    pub fn version(&self) -> ProtocolVersion {
42        ProtocolVersion::from_u8(unsafe { tracker_warning_alert_get_version(self.0) })
43    }
44}