Skip to content

Commit 1cec14d

Browse files
authored
Merge pull request #43 from jean-airoldie/as_socket_addr
Add as_socket_addr convenience method
2 parents ea922cc + 5b8b716 commit 1cec14d

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/sockaddr.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,18 @@ impl SockAddr {
132132
unsafe { self.as_(AF_INET6 as sa_family_t) }
133133
}
134134

135+
/// Returns this address as a `SocketAddr` if it is in the `AF_INET`
136+
/// or `AF_INET6` family, otherwise returns `None`.
137+
pub fn as_std(&self) -> Option<SocketAddr> {
138+
if let Some(addr) = self.as_inet() {
139+
Some(SocketAddr::V4(addr))
140+
} else if let Some(addr) = self.as_inet6() {
141+
Some(SocketAddr::V6(addr))
142+
} else {
143+
None
144+
}
145+
}
146+
135147
/// Returns this address's family.
136148
pub fn family(&self) -> sa_family_t {
137149
self.storage.ss_family

0 commit comments

Comments
 (0)