@@ -14,11 +14,12 @@ use iter::Iterator;
14
14
use option:: { Option , None , Some } ;
15
15
use str:: StrSlice ;
16
16
use to_str:: ToStr ;
17
+ use to_bytes:: IterBytes ;
17
18
use vec:: { MutableCloneableVector , ImmutableVector , MutableVector } ;
18
19
19
20
pub type Port = u16 ;
20
21
21
- #[ deriving( Eq , TotalEq , Clone ) ]
22
+ #[ deriving( Eq , TotalEq , Clone , IterBytes ) ]
22
23
pub enum IpAddr {
23
24
Ipv4Addr ( u8 , u8 , u8 , u8 ) ,
24
25
Ipv6Addr ( u16 , u16 , u16 , u16 , u16 , u16 , u16 , u16 )
@@ -48,7 +49,7 @@ impl ToStr for IpAddr {
48
49
}
49
50
}
50
51
51
- #[ deriving( Eq , TotalEq , Clone ) ]
52
+ #[ deriving( Eq , TotalEq , Clone , IterBytes ) ]
52
53
pub struct SocketAddr {
53
54
ip : IpAddr ,
54
55
port : Port ,
@@ -339,6 +340,7 @@ impl FromStr for SocketAddr {
339
340
mod test {
340
341
use prelude:: * ;
341
342
use super :: * ;
343
+ use to_bytes:: ToBytes ;
342
344
343
345
#[ test]
344
346
fn test_from_str_ipv4 ( ) {
@@ -441,4 +443,13 @@ mod test {
441
443
assert_eq!(Ipv6Addr(8, 9, 10, 11, 12, 13, 14, 15).to_str(), ~" 8 : 9 : a: b: c: d: e: f" ) ;
442
444
}
443
445
446
+ #[ test]
447
+ fn ipv4_addr_to_bytes ( ) {
448
+ Ipv4Addr ( 123 , 20 , 12 , 56 ) . to_bytes ( true ) ;
449
+ }
450
+
451
+ #[ test]
452
+ fn socket_addr_to_bytes ( ) {
453
+ SocketAddr { ip : Ipv4Addr ( 1 , 2 , 3 , 4 ) , port : 1234 } . to_bytes ( true ) ;
454
+ }
444
455
}
0 commit comments