@@ -118,15 +118,12 @@ impl PeerAddress {
118
118
)
119
119
}
120
120
121
- /// Convert to SocketAddr
122
- pub fn to_socketaddr ( & self , port : u16 ) -> SocketAddr {
121
+ /// Convert to IpAddr
122
+ pub fn to_ipaddr ( & self ) -> IpAddr {
123
123
if self . is_ipv4 ( ) {
124
- SocketAddr :: new (
125
- IpAddr :: V4 ( Ipv4Addr :: new (
126
- self . 0 [ 12 ] , self . 0 [ 13 ] , self . 0 [ 14 ] , self . 0 [ 15 ] ,
127
- ) ) ,
128
- port,
129
- )
124
+ IpAddr :: V4 ( Ipv4Addr :: new (
125
+ self . 0 [ 12 ] , self . 0 [ 13 ] , self . 0 [ 14 ] , self . 0 [ 15 ] ,
126
+ ) )
130
127
} else {
131
128
let addr_words: [ u16 ; 8 ] = [
132
129
( ( self . 0 [ 0 ] as u16 ) << 8 ) | ( self . 0 [ 1 ] as u16 ) ,
@@ -138,23 +135,25 @@ impl PeerAddress {
138
135
( ( self . 0 [ 12 ] as u16 ) << 8 ) | ( self . 0 [ 13 ] as u16 ) ,
139
136
( ( self . 0 [ 14 ] as u16 ) << 8 ) | ( self . 0 [ 15 ] as u16 ) ,
140
137
] ;
141
-
142
- SocketAddr :: new (
143
- IpAddr :: V6 ( Ipv6Addr :: new (
144
- addr_words[ 0 ] ,
145
- addr_words[ 1 ] ,
146
- addr_words[ 2 ] ,
147
- addr_words[ 3 ] ,
148
- addr_words[ 4 ] ,
149
- addr_words[ 5 ] ,
150
- addr_words[ 6 ] ,
151
- addr_words[ 7 ] ,
152
- ) ) ,
153
- port,
154
- )
138
+ IpAddr :: V6 ( Ipv6Addr :: new (
139
+ addr_words[ 0 ] ,
140
+ addr_words[ 1 ] ,
141
+ addr_words[ 2 ] ,
142
+ addr_words[ 3 ] ,
143
+ addr_words[ 4 ] ,
144
+ addr_words[ 5 ] ,
145
+ addr_words[ 6 ] ,
146
+ addr_words[ 7 ] ,
147
+ ) )
155
148
}
156
149
}
157
150
151
+ /// Convert to SocketAddr
152
+ pub fn to_socketaddr ( & self , port : u16 ) -> SocketAddr {
153
+ let ip_addr = self . to_ipaddr ( ) ;
154
+ SocketAddr :: new ( ip_addr, port)
155
+ }
156
+
158
157
/// Convert from socket address
159
158
pub fn from_socketaddr ( addr : & SocketAddr ) -> PeerAddress {
160
159
PeerAddress :: from_ip ( & addr. ip ( ) )
@@ -228,6 +227,10 @@ impl PeerAddress {
228
227
pub fn to_bin ( & self ) -> String {
229
228
to_bin ( & self . 0 )
230
229
}
230
+
231
+ pub fn pretty_print ( & self ) -> String {
232
+ self . to_ipaddr ( ) . to_string ( )
233
+ }
231
234
}
232
235
233
236
/// Peer address variants for the Host: header
0 commit comments