1use core::net::{SocketAddr, SocketAddrV4, SocketAddrV6};
2use std::{io, net::ToSocketAddrs};
3
4use crate::net::{
5 ArchivedSocketAddr, ArchivedSocketAddrV4, ArchivedSocketAddrV6,
6};
7
8impl ToSocketAddrs for ArchivedSocketAddrV4 {
9 type Iter = <SocketAddrV4 as ToSocketAddrs>::Iter;
10
11 fn to_socket_addrs(&self) -> io::Result<Self::Iter> {
12 self.as_socket_addr_v4().to_socket_addrs()
13 }
14}
15
16impl ToSocketAddrs for ArchivedSocketAddrV6 {
17 type Iter = <SocketAddrV6 as ToSocketAddrs>::Iter;
18
19 fn to_socket_addrs(&self) -> io::Result<Self::Iter> {
20 self.as_socket_addr_v6().to_socket_addrs()
21 }
22}
23
24impl ToSocketAddrs for ArchivedSocketAddr {
25 type Iter = <SocketAddr as ToSocketAddrs>::Iter;
26
27 fn to_socket_addrs(&self) -> io::Result<Self::Iter> {
28 self.as_socket_addr().to_socket_addrs()
29 }
30}