Skip to main content

kellnr_settings/
local.rs

1use std::net::{IpAddr, Ipv4Addr};
2
3use clap_serde_derive::ClapSerde;
4use serde::{Deserialize, Serialize};
5
6fn default_ip() -> IpAddr {
7    IpAddr::V4(Ipv4Addr::UNSPECIFIED)
8}
9
10#[derive(Debug, Deserialize, Serialize, Eq, PartialEq, Clone, ClapSerde)]
11#[serde(default)]
12pub struct Local {
13    /// IP address to bind to
14    #[default(default_ip())]
15    #[arg(id = "local-ip", long = "local-ip")]
16    pub ip: IpAddr,
17
18    /// Port to listen on
19    #[default(8000)]
20    #[arg(id = "local-port", long = "local-port", short = 'p')]
21    pub port: u16,
22}