pub struct ServerArgs {
pub inst: String,
pub verbose: u8,
pub host: Option<String>,
pub port: Option<(u16, u16)>,
pub zmq_heartbeat_port: Option<(u16, u16)>,
pub zmq_event_port: Option<(u16, u16)>,
pub devs: Vec<(Option<String>, String)>,
pub props: Vec<(String, String, String)>,
pub db_port: Option<(u16, u16)>,
}Expand description
The command line every server is launched with: the instance it runs as, how much it logs, and where it listens.
A server with options of its own flattens this into its own parser and builds itself
with super::ServerBuilder::from_raw_args, and one with none of its own just calls
super::ServerBuilder::from_args. Either way the server is named after its executable,
unless it names itself, see super::ServerBuilder::from_raw_args.
use clap::Parser;
use tango::server::{ServerArgs, ServerBuilder};
#[derive(Parser)]
struct Cli {
#[command(flatten)]
server: ServerArgs,
/// Simulate the hardware.
#[arg(long)]
simulate: bool,
}
let cli = Cli::parse();
let builder = ServerBuilder::from_raw_args(None, Some(&cli.server));Fields§
§inst: StringThe instance of the server, which is the second half of the exe/inst name it is
registered in the database under.
verbose: u8Log more, once per level: the default is info, -v is debug and -vv is trace.
The RUST_LOG environment variable has the last word.
host: Option<String>The host to listen at, which is also the one the server registers its devices under in the database.
port: Option<(u16, u16)>The port to listen at, or the inclusive range of ports to pick one from, one the system picks if absent.
zmq_heartbeat_port: Option<(u16, u16)>The port the heartbeat of the events is published at, or the inclusive range of ports to pick one from, one the system picks if absent.
zmq_event_port: Option<(u16, u16)>The port the events are published at, or the inclusive range of ports to pick one from, one the system picks if absent.
devs: Vec<(Option<String>, String)>Serve a database for testing in this process, with that device of this server in
it, instead of reaching the one of TANGO_HOST: clients reach it at the
TANGO_HOST the server logs. The class defaults to the name of the executable.
props: Vec<(String, String, String)>A property of a device of the test database, see --dev.
db_port: Option<(u16, u16)>The port the test database listens at, or the inclusive range of ports to pick one
from, see --dev, one the system picks if absent.
Trait Implementations§
Source§impl Args for ServerArgs
impl Args for ServerArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl Clone for ServerArgs
impl Clone for ServerArgs
Source§impl Debug for ServerArgs
impl Debug for ServerArgs
Source§impl FromArgMatches for ServerArgs
impl FromArgMatches for ServerArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.