1use std::net::{IpAddr, Ipv4Addr};
2
3use provcfg::{ClapArgs, Configurable};
4use serde::{Deserialize, Serialize};
5
6fn default_ip() -> IpAddr {
7 IpAddr::V4(Ipv4Addr::UNSPECIFIED)
8}
9
10#[derive(Debug, Deserialize, Serialize, Eq, PartialEq, Clone, Configurable, ClapArgs)]
11#[serde(default)]
12#[configurable(clap_prefix = "local")]
13pub struct Local {
14 pub ip: IpAddr,
16
17 #[arg(short = 'p')]
19 pub port: u16,
20}
21
22impl Default for Local {
23 fn default() -> Self {
24 Self {
25 ip: default_ip(),
26 port: 8000,
27 }
28 }
29}