14
14
//! peer_id: peer::Id(*b"-qB00000000000000000"),
15
15
//! peer_addr: SocketAddr::new(IpAddr::V4(Ipv4Addr::new(126, 0, 0, 1)), 8080),
16
16
//! updated: DurationSinceUnixEpoch::new(1_669_397_478_934, 0),
17
- //! uploaded: NumberOfBytes(0),
18
- //! downloaded: NumberOfBytes(0),
19
- //! left: NumberOfBytes(0),
17
+ //! uploaded: NumberOfBytes::new (0),
18
+ //! downloaded: NumberOfBytes::new (0),
19
+ //! left: NumberOfBytes::new (0),
20
20
//! event: AnnounceEvent::Started,
21
21
//! };
22
22
//! ```
23
23
24
24
use std:: net:: { IpAddr , SocketAddr } ;
25
25
use std:: sync:: Arc ;
26
26
27
- use aquatic_udp_protocol:: AnnounceEvent ;
27
+ use aquatic_udp_protocol:: { AnnounceEvent , NumberOfBytes } ;
28
28
use serde:: Serialize ;
29
29
30
- use crate :: { ser_announce_event, ser_unix_time_value, DurationSinceUnixEpoch , IPVersion , NumberOfBytes } ;
30
+ use crate :: { ser_announce_event, ser_number_of_bytes , ser_unix_time_value, DurationSinceUnixEpoch , IPVersion } ;
31
31
32
32
/// Peer struct used by the core `Tracker`.
33
33
///
@@ -45,9 +45,9 @@ use crate::{ser_announce_event, ser_unix_time_value, DurationSinceUnixEpoch, IPV
45
45
/// peer_id: peer::Id(*b"-qB00000000000000000"),
46
46
/// peer_addr: SocketAddr::new(IpAddr::V4(Ipv4Addr::new(126, 0, 0, 1)), 8080),
47
47
/// updated: DurationSinceUnixEpoch::new(1_669_397_478_934, 0),
48
- /// uploaded: NumberOfBytes(0),
49
- /// downloaded: NumberOfBytes(0),
50
- /// left: NumberOfBytes(0),
48
+ /// uploaded: NumberOfBytes::new (0),
49
+ /// downloaded: NumberOfBytes::new (0),
50
+ /// left: NumberOfBytes::new (0),
51
51
/// event: AnnounceEvent::Started,
52
52
/// };
53
53
/// ```
@@ -61,10 +61,13 @@ pub struct Peer {
61
61
#[ serde( serialize_with = "ser_unix_time_value" ) ]
62
62
pub updated : DurationSinceUnixEpoch ,
63
63
/// The total amount of bytes uploaded by this peer so far
64
+ #[ serde( serialize_with = "ser_number_of_bytes" ) ]
64
65
pub uploaded : NumberOfBytes ,
65
66
/// The total amount of bytes downloaded by this peer so far
67
+ #[ serde( serialize_with = "ser_number_of_bytes" ) ]
66
68
pub downloaded : NumberOfBytes ,
67
69
/// The number of bytes this peer still has to download
70
+ #[ serde( serialize_with = "ser_number_of_bytes" ) ]
68
71
pub left : NumberOfBytes ,
69
72
/// This is an optional key which maps to started, completed, or stopped (or empty, which is the same as not being present).
70
73
#[ serde( serialize_with = "ser_announce_event" ) ]
@@ -93,7 +96,7 @@ pub trait ReadInfo {
93
96
94
97
impl ReadInfo for Peer {
95
98
fn is_seeder ( & self ) -> bool {
96
- self . left . 0 <= 0 && self . event != AnnounceEvent :: Stopped
99
+ self . left . 0 . get ( ) <= 0 && self . event != AnnounceEvent :: Stopped
97
100
}
98
101
99
102
fn get_event ( & self ) -> AnnounceEvent {
@@ -115,7 +118,7 @@ impl ReadInfo for Peer {
115
118
116
119
impl ReadInfo for Arc < Peer > {
117
120
fn is_seeder ( & self ) -> bool {
118
- self . left . 0 <= 0 && self . event != AnnounceEvent :: Stopped
121
+ self . left . 0 . get ( ) <= 0 && self . event != AnnounceEvent :: Stopped
119
122
}
120
123
121
124
fn get_event ( & self ) -> AnnounceEvent {
@@ -138,7 +141,7 @@ impl ReadInfo for Arc<Peer> {
138
141
impl Peer {
139
142
#[ must_use]
140
143
pub fn is_seeder ( & self ) -> bool {
141
- self . left . 0 <= 0 && self . event != AnnounceEvent :: Stopped
144
+ self . left . 0 . get ( ) <= 0 && self . event != AnnounceEvent :: Stopped
142
145
}
143
146
144
147
pub fn ip ( & mut self ) -> IpAddr {
@@ -357,10 +360,10 @@ impl<P: Encoding> FromIterator<Peer> for Vec<P> {
357
360
pub mod fixture {
358
361
use std:: net:: { IpAddr , Ipv4Addr , SocketAddr } ;
359
362
360
- use aquatic_udp_protocol:: AnnounceEvent ;
363
+ use aquatic_udp_protocol:: { AnnounceEvent , NumberOfBytes } ;
361
364
362
365
use super :: { Id , Peer } ;
363
- use crate :: { DurationSinceUnixEpoch , NumberOfBytes } ;
366
+ use crate :: DurationSinceUnixEpoch ;
364
367
365
368
#[ derive( PartialEq , Debug ) ]
366
369
@@ -383,9 +386,9 @@ pub mod fixture {
383
386
peer_id : Id ( * b"-qB00000000000000001" ) ,
384
387
peer_addr : SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) ) , 8080 ) ,
385
388
updated : DurationSinceUnixEpoch :: new ( 1_669_397_478_934 , 0 ) ,
386
- uploaded : NumberOfBytes ( 0 ) ,
387
- downloaded : NumberOfBytes ( 0 ) ,
388
- left : NumberOfBytes ( 0 ) ,
389
+ uploaded : NumberOfBytes :: new ( 0 ) ,
390
+ downloaded : NumberOfBytes :: new ( 0 ) ,
391
+ left : NumberOfBytes :: new ( 0 ) ,
389
392
event : AnnounceEvent :: Completed ,
390
393
} ;
391
394
@@ -399,9 +402,9 @@ pub mod fixture {
399
402
peer_id : Id ( * b"-qB00000000000000002" ) ,
400
403
peer_addr : SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 2 ) ) , 8080 ) ,
401
404
updated : DurationSinceUnixEpoch :: new ( 1_669_397_478_934 , 0 ) ,
402
- uploaded : NumberOfBytes ( 0 ) ,
403
- downloaded : NumberOfBytes ( 0 ) ,
404
- left : NumberOfBytes ( 10 ) ,
405
+ uploaded : NumberOfBytes :: new ( 0 ) ,
406
+ downloaded : NumberOfBytes :: new ( 0 ) ,
407
+ left : NumberOfBytes :: new ( 10 ) ,
405
408
event : AnnounceEvent :: Started ,
406
409
} ;
407
410
@@ -425,14 +428,14 @@ pub mod fixture {
425
428
#[ allow( dead_code) ]
426
429
#[ must_use]
427
430
pub fn with_bytes_pending_to_download ( mut self , left : i64 ) -> Self {
428
- self . peer . left = NumberOfBytes ( left) ;
431
+ self . peer . left = NumberOfBytes :: new ( left) ;
429
432
self
430
433
}
431
434
432
435
#[ allow( dead_code) ]
433
436
#[ must_use]
434
437
pub fn with_no_bytes_pending_to_download ( mut self ) -> Self {
435
- self . peer . left = NumberOfBytes ( 0 ) ;
438
+ self . peer . left = NumberOfBytes :: new ( 0 ) ;
436
439
self
437
440
}
438
441
@@ -462,9 +465,9 @@ pub mod fixture {
462
465
peer_id : Id :: default ( ) ,
463
466
peer_addr : SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) ) , 8080 ) ,
464
467
updated : DurationSinceUnixEpoch :: new ( 1_669_397_478_934 , 0 ) ,
465
- uploaded : NumberOfBytes ( 0 ) ,
466
- downloaded : NumberOfBytes ( 0 ) ,
467
- left : NumberOfBytes ( 0 ) ,
468
+ uploaded : NumberOfBytes :: new ( 0 ) ,
469
+ downloaded : NumberOfBytes :: new ( 0 ) ,
470
+ left : NumberOfBytes :: new ( 0 ) ,
468
471
event : AnnounceEvent :: Started ,
469
472
}
470
473
}
0 commit comments