Skip to content

Commit bef5680

Browse files
committed
dev: vairous fixups
1 parent 9362fa5 commit bef5680

File tree

5 files changed

+16
-35
lines changed

5 files changed

+16
-35
lines changed

packages/primitives/src/info_hash.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ impl Ord for InfoHash {
7373
}
7474
}
7575

76-
impl std::cmp::PartialOrd<InfoHash> for InfoHash {
76+
impl PartialOrd<InfoHash> for InfoHash {
7777
fn partial_cmp(&self, other: &InfoHash) -> Option<std::cmp::Ordering> {
7878
Some(self.cmp(other))
7979
}

packages/primitives/src/lib.rs

-9
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,4 @@ pub mod torrent_metrics;
1818
/// Duration since the Unix Epoch.
1919
pub type DurationSinceUnixEpoch = Duration;
2020

21-
/// IP version used by the peer to connect to the tracker: IPv4 or IPv6
22-
#[derive(PartialEq, Eq, Debug)]
23-
pub enum IPVersion {
24-
/// <https://en.wikipedia.org/wiki/Internet_Protocol_version_4>
25-
IPv4,
26-
/// <https://en.wikipedia.org/wiki/IPv6>
27-
IPv6,
28-
}
29-
3021
pub type PersistentTorrents = BTreeMap<InfoHash, u32>;

packages/primitives/src/peer.rs

+12-22
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use aquatic_udp_protocol::{AnnounceEvent, NumberOfBytes, PeerId};
3030
use serde::Serialize;
3131
use zerocopy::FromBytes as _;
3232

33-
use crate::{DurationSinceUnixEpoch, IPVersion};
33+
use crate::DurationSinceUnixEpoch;
3434

3535
/// Peer struct used by the core `Tracker`.
3636
///
@@ -208,15 +208,6 @@ impl Peer {
208208
pub fn change_ip(&mut self, new_ip: &IpAddr) {
209209
self.peer_addr = SocketAddr::new(*new_ip, self.peer_addr.port());
210210
}
211-
212-
/// The IP version used by the peer: IPV4 or IPV6
213-
#[must_use]
214-
pub fn ip_version(&self) -> IPVersion {
215-
if self.peer_addr.is_ipv4() {
216-
return IPVersion::IPv4;
217-
}
218-
IPVersion::IPv6
219-
}
220211
}
221212

222213
use std::panic::Location;
@@ -264,22 +255,21 @@ impl DerefMut for Id {
264255
}
265256
}
266257

267-
impl From<[u8; 20]> for Id {
268-
fn from(bytes: [u8; 20]) -> Self {
269-
let data = PeerId(bytes);
270-
Self { data }
271-
}
272-
}
273-
274-
impl From<i32> for Id {
275-
fn from(number: i32) -> Self {
258+
impl Id {
259+
#[must_use]
260+
pub fn new<T>(number: T) -> Self
261+
where
262+
T: Into<i128>,
263+
{
264+
let number: i128 = number.into();
276265
let number = number.to_le_bytes();
277266
let bytes = [
278-
0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, number[0], number[1], number[2],
279-
number[3],
267+
0u8, 0u8, 0u8, 0u8, number[0], number[1], number[2], number[3], number[4], number[5], number[6], number[7],
268+
number[8], number[9], number[10], number[11], number[12], number[13], number[14], number[15],
280269
];
281270

282-
Id::from(bytes)
271+
let data = PeerId(bytes);
272+
Id { data }
283273
}
284274
}
285275

packages/torrent-repository/tests/common/torrent_peer_builder.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ impl TorrentPeerBuilder {
6969
/// has not announced it has stopped
7070
#[must_use]
7171
pub fn a_completed_peer(id: i32) -> peer::Peer {
72-
let peer_id = peer::Id::from(id);
72+
let peer_id = peer::Id::new(id);
7373
TorrentPeerBuilder::new()
7474
.with_number_of_bytes_left(0)
7575
.with_event_completed()
@@ -81,7 +81,7 @@ pub fn a_completed_peer(id: i32) -> peer::Peer {
8181
/// Leecher: left > 0 OR event = Stopped
8282
#[must_use]
8383
pub fn a_started_peer(id: i32) -> peer::Peer {
84-
let peer_id = peer::Id::from(id);
84+
let peer_id = peer::Id::new(id);
8585
TorrentPeerBuilder::new()
8686
.with_number_of_bytes_left(1)
8787
.with_event_started()

packages/torrent-repository/tests/entry/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ async fn it_should_limit_the_number_of_peers_returned(
400400
// We add one more peer than the scrape limit
401401
for peer_number in 1..=74 + 1 {
402402
let mut peer = a_started_peer(1);
403-
peer.peer_id = *peer::Id::from(peer_number);
403+
peer.peer_id = *peer::Id::new(peer_number);
404404
torrent.upsert_peer(&peer).await;
405405
}
406406

0 commit comments

Comments
 (0)