@@ -13,19 +13,34 @@ fn encode_decode() {
1313 let decoded = SocketAddrAny :: read ( encoded. as_ptr ( ) , len) . unwrap ( ) ;
1414 assert_eq ! ( decoded, SocketAddrAny :: V4 ( orig) ) ;
1515
16+ let orig = SocketAddrV4 :: new ( Ipv4Addr :: new ( 2 , 3 , 5 , 6 ) , 33 ) ;
17+ let encoded = SocketAddrAny :: V4 ( orig) . to_raw ( ) ;
18+ let decoded = SocketAddrAny :: from_raw ( encoded) . unwrap ( ) ;
19+ assert_eq ! ( decoded, SocketAddrAny :: V4 ( orig) ) ;
20+
1621 let orig = SocketAddrV6 :: new ( Ipv6Addr :: new ( 2 , 3 , 5 , 6 , 8 , 9 , 11 , 12 ) , 33 , 34 , 36 ) ;
1722 let mut encoded = std:: mem:: MaybeUninit :: < SocketAddrStorage > :: uninit ( ) ;
1823 let len = SocketAddrAny :: V6 ( orig) . write ( encoded. as_mut_ptr ( ) ) ;
1924 let decoded = SocketAddrAny :: read ( encoded. as_ptr ( ) , len) . unwrap ( ) ;
2025 assert_eq ! ( decoded, SocketAddrAny :: V6 ( orig) ) ;
2126
27+ let orig = SocketAddrV6 :: new ( Ipv6Addr :: new ( 2 , 3 , 5 , 6 , 8 , 9 , 11 , 12 ) , 33 , 34 , 36 ) ;
28+ let encoded = SocketAddrAny :: V6 ( orig) . to_raw ( ) ;
29+ let decoded = SocketAddrAny :: from_raw ( encoded) . unwrap ( ) ;
30+ assert_eq ! ( decoded, SocketAddrAny :: V6 ( orig) ) ;
31+
2232 #[ cfg( not( windows) ) ]
2333 {
2434 let orig = SocketAddrUnix :: new ( "/path/to/socket" ) . unwrap ( ) ;
2535 let mut encoded = std:: mem:: MaybeUninit :: < SocketAddrStorage > :: uninit ( ) ;
2636 let len = SocketAddrAny :: Unix ( orig. clone ( ) ) . write ( encoded. as_mut_ptr ( ) ) ;
2737 let decoded = SocketAddrAny :: read ( encoded. as_ptr ( ) , len) . unwrap ( ) ;
2838 assert_eq ! ( decoded, SocketAddrAny :: Unix ( orig) ) ;
39+
40+ let orig = SocketAddrUnix :: new ( "/path/to/socket" ) . unwrap ( ) ;
41+ let encoded = SocketAddrAny :: Unix ( orig. clone ( ) ) . to_raw ( ) ;
42+ let decoded = SocketAddrAny :: from_raw ( encoded) . unwrap ( ) ;
43+ assert_eq ! ( decoded, SocketAddrAny :: Unix ( orig) ) ;
2944 }
3045 }
3146}
0 commit comments