1#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Hash)]
2pub enum DnsResolveIpMode {
4 #[default]
5 Dual,
6 SingleIpV4,
7 SingleIpV6,
8 DualPreferIpV4,
9}
10
11impl DnsResolveIpMode {
12 pub fn ipv4_supported(&self) -> bool {
14 matches!(
15 self,
16 DnsResolveIpMode::Dual
17 | DnsResolveIpMode::SingleIpV4
18 | DnsResolveIpMode::DualPreferIpV4
19 )
20 }
21
22 pub fn ipv6_supported(&self) -> bool {
24 matches!(
25 self,
26 DnsResolveIpMode::Dual
27 | DnsResolveIpMode::SingleIpV6
28 | DnsResolveIpMode::DualPreferIpV4
29 )
30 }
31}
32#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Hash)]
34pub enum ConnectIpMode {
35 #[default]
36 Dual,
37 Ipv4,
38 Ipv6,
39}