Skip to content

Commit

Permalink
Merge pull request #97 from anacrolix/option-announce
Browse files Browse the repository at this point in the history
Make the announce info field optional
  • Loading branch information
ikatson authored Mar 24, 2024
2 parents 00c7f31 + b184354 commit 24feb60
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 7 deletions.
2 changes: 1 addition & 1 deletion crates/librqbit/src/create_torrent_file.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ pub async fn create_torrent<'a>(
let info_hash = compute_info_hash(&info).context("error computing info hash")?;
Ok(CreateTorrentResult {
meta: TorrentMetaV1Owned {
announce: b""[..].into(),
announce: None,
announce_list: Vec::new(),
info,
comment: None,
Expand Down
5 changes: 1 addition & 4 deletions crates/librqbit/src/session.rs
Original file line number Diff line number Diff line change
Expand Up @@ -721,10 +721,7 @@ impl Session {
.map(|t| ByteString(t.into_bytes()))
.collect();
let info = TorrentMetaV1Owned {
announce: trackers
.first()
.cloned()
.unwrap_or_else(|| ByteString(b"http://retracker.local/announce".to_vec())),
announce: trackers.first().cloned(),
announce_list: vec![trackers],
info: storrent.info,
comment: None,
Expand Down
5 changes: 3 additions & 2 deletions crates/librqbit_core/src/torrent_metainfo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ pub fn torrent_from_bytes<'de, ByteBuf: Deserialize<'de>>(
/// A parsed .torrent file.
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct TorrentMetaV1<BufType> {
pub announce: BufType,
#[serde(skip_serializing_if = "Option::is_none")]
pub announce: Option<BufType>,
#[serde(
rename = "announce-list",
default = "Vec::new",
Expand Down Expand Up @@ -59,7 +60,7 @@ impl<BufType> TorrentMetaV1<BufType> {
if self.announce_list.iter().flatten().next().is_some() {
return itertools::Either::Left(self.announce_list.iter().flatten());
}
itertools::Either::Right(once(&self.announce))
itertools::Either::Right(self.announce.iter())
}
}

Expand Down

0 comments on commit 24feb60

Please sign in to comment.