lt_rs/alerts/implementations/
scrape_failed.rs1use crate::{
2 alerts::{ScrapeFailedAlert, protocol_version::ProtocolVersion},
3 errors::LtrsError,
4 ffi::alerts::scrape_failed::ffi::{
5 scrape_failed_alert_get_error, scrape_failed_alert_get_error_message,
6 scrape_failed_alert_get_version,
7 },
8 torrent_handle::TorrentHandle,
9};
10
11impl ScrapeFailedAlert {
12 #[inline(always)]
13 pub fn handle(&self) -> TorrentHandle {
14 self.as_torrent_alert().handle()
15 }
16
17 #[inline(always)]
18 pub fn torrent_name<'a>(&'a self) -> &'a str {
19 self.as_torrent_alert().torrent_name()
20 }
21
22 #[inline(always)]
23 pub fn message(&self) -> String {
24 self.as_torrent_alert().message()
25 }
26
27 #[inline(always)]
28 pub fn tracker_url<'a>(&'a self) -> &'a str {
29 self.as_tracker_alert().tracker_url()
30 }
31
32 #[inline(always)]
33 pub fn local_endpoint(&self) {
34 self.as_tracker_alert().local_endpoint()
35 }
36
37 #[inline(always)]
38 pub fn error_message<'a>(&'a self) -> &'a str {
39 unsafe { scrape_failed_alert_get_error_message(self.0) }
40 }
41
42 #[inline(always)]
43 pub fn error(&self) -> LtrsError {
44 unsafe { scrape_failed_alert_get_error(self.0) }.into()
45 }
46
47 #[inline(always)]
48 pub fn version(&self) -> ProtocolVersion {
49 ProtocolVersion::from_u8(unsafe { scrape_failed_alert_get_version(self.0) })
50 }
51}