@@ -30,7 +30,7 @@ use aquatic_udp_protocol::{AnnounceEvent, NumberOfBytes, PeerId};
30
30
use serde:: Serialize ;
31
31
use zerocopy:: FromBytes as _;
32
32
33
- use crate :: { DurationSinceUnixEpoch , IPVersion } ;
33
+ use crate :: DurationSinceUnixEpoch ;
34
34
35
35
/// Peer struct used by the core `Tracker`.
36
36
///
@@ -208,15 +208,6 @@ impl Peer {
208
208
pub fn change_ip ( & mut self , new_ip : & IpAddr ) {
209
209
self . peer_addr = SocketAddr :: new ( * new_ip, self . peer_addr . port ( ) ) ;
210
210
}
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
- }
220
211
}
221
212
222
213
use std:: panic:: Location ;
@@ -264,22 +255,21 @@ impl DerefMut for Id {
264
255
}
265
256
}
266
257
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 ( ) ;
276
265
let number = number. to_le_bytes ( ) ;
277
266
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 ] ,
280
269
] ;
281
270
282
- Id :: from ( bytes)
271
+ let data = PeerId ( bytes) ;
272
+ Id { data }
283
273
}
284
274
}
285
275
0 commit comments