1414//! peer_id: peer::Id(*b"-qB00000000000000000"),
1515//! peer_addr: SocketAddr::new(IpAddr::V4(Ipv4Addr::new(126, 0, 0, 1)), 8080),
1616//! 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),
2020//! event: AnnounceEvent::Started,
2121//! };
2222//! ```
2323
2424use std:: net:: { IpAddr , SocketAddr } ;
2525use std:: sync:: Arc ;
2626
27- use aquatic_udp_protocol:: AnnounceEvent ;
27+ use aquatic_udp_protocol:: { AnnounceEvent , NumberOfBytes } ;
2828use serde:: Serialize ;
2929
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 } ;
3131
3232/// Peer struct used by the core `Tracker`.
3333///
@@ -45,9 +45,9 @@ use crate::{ser_announce_event, ser_unix_time_value, DurationSinceUnixEpoch, IPV
4545/// peer_id: peer::Id(*b"-qB00000000000000000"),
4646/// peer_addr: SocketAddr::new(IpAddr::V4(Ipv4Addr::new(126, 0, 0, 1)), 8080),
4747/// 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),
5151/// event: AnnounceEvent::Started,
5252/// };
5353/// ```
@@ -61,10 +61,13 @@ pub struct Peer {
6161 #[ serde( serialize_with = "ser_unix_time_value" ) ]
6262 pub updated : DurationSinceUnixEpoch ,
6363 /// The total amount of bytes uploaded by this peer so far
64+ #[ serde( serialize_with = "ser_number_of_bytes" ) ]
6465 pub uploaded : NumberOfBytes ,
6566 /// The total amount of bytes downloaded by this peer so far
67+ #[ serde( serialize_with = "ser_number_of_bytes" ) ]
6668 pub downloaded : NumberOfBytes ,
6769 /// The number of bytes this peer still has to download
70+ #[ serde( serialize_with = "ser_number_of_bytes" ) ]
6871 pub left : NumberOfBytes ,
6972 /// This is an optional key which maps to started, completed, or stopped (or empty, which is the same as not being present).
7073 #[ serde( serialize_with = "ser_announce_event" ) ]
@@ -93,7 +96,7 @@ pub trait ReadInfo {
9396
9497impl ReadInfo for Peer {
9598 fn is_seeder ( & self ) -> bool {
96- self . left . 0 <= 0 && self . event != AnnounceEvent :: Stopped
99+ self . left . 0 . get ( ) <= 0 && self . event != AnnounceEvent :: Stopped
97100 }
98101
99102 fn get_event ( & self ) -> AnnounceEvent {
@@ -115,7 +118,7 @@ impl ReadInfo for Peer {
115118
116119impl ReadInfo for Arc < Peer > {
117120 fn is_seeder ( & self ) -> bool {
118- self . left . 0 <= 0 && self . event != AnnounceEvent :: Stopped
121+ self . left . 0 . get ( ) <= 0 && self . event != AnnounceEvent :: Stopped
119122 }
120123
121124 fn get_event ( & self ) -> AnnounceEvent {
@@ -138,7 +141,7 @@ impl ReadInfo for Arc<Peer> {
138141impl Peer {
139142 #[ must_use]
140143 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
142145 }
143146
144147 pub fn ip ( & mut self ) -> IpAddr {
@@ -357,10 +360,10 @@ impl<P: Encoding> FromIterator<Peer> for Vec<P> {
357360pub mod fixture {
358361 use std:: net:: { IpAddr , Ipv4Addr , SocketAddr } ;
359362
360- use aquatic_udp_protocol:: AnnounceEvent ;
363+ use aquatic_udp_protocol:: { AnnounceEvent , NumberOfBytes } ;
361364
362365 use super :: { Id , Peer } ;
363- use crate :: { DurationSinceUnixEpoch , NumberOfBytes } ;
366+ use crate :: DurationSinceUnixEpoch ;
364367
365368 #[ derive( PartialEq , Debug ) ]
366369
@@ -383,9 +386,9 @@ pub mod fixture {
383386 peer_id : Id ( * b"-qB00000000000000001" ) ,
384387 peer_addr : SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) ) , 8080 ) ,
385388 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 ) ,
389392 event : AnnounceEvent :: Completed ,
390393 } ;
391394
@@ -399,9 +402,9 @@ pub mod fixture {
399402 peer_id : Id ( * b"-qB00000000000000002" ) ,
400403 peer_addr : SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 2 ) ) , 8080 ) ,
401404 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 ) ,
405408 event : AnnounceEvent :: Started ,
406409 } ;
407410
@@ -425,14 +428,14 @@ pub mod fixture {
425428 #[ allow( dead_code) ]
426429 #[ must_use]
427430 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) ;
429432 self
430433 }
431434
432435 #[ allow( dead_code) ]
433436 #[ must_use]
434437 pub fn with_no_bytes_pending_to_download ( mut self ) -> Self {
435- self . peer . left = NumberOfBytes ( 0 ) ;
438+ self . peer . left = NumberOfBytes :: new ( 0 ) ;
436439 self
437440 }
438441
@@ -462,9 +465,9 @@ pub mod fixture {
462465 peer_id : Id :: default ( ) ,
463466 peer_addr : SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) ) , 8080 ) ,
464467 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 ) ,
468471 event : AnnounceEvent :: Started ,
469472 }
470473 }
0 commit comments