pub struct CommonArgs {
pub port: Option<Port>,
pub host: Option<String>,
pub routing_mode: RoutingMode,
pub config: ConfigPath,
pub threads: Option<ThreadCount>,
}Expand description
Common command-line arguments for NNTP proxy binaries
Use #[command(flatten)] in binary-specific Args to include these fields.
Fields§
§port: Option<Port>Port to listen on (overrides config file)
host: Option<String>Host to bind to (overrides config file)
routing_mode: RoutingModeRouting mode: stateful, per-command, or hybrid
- stateful: 1:1 mode, each client gets a dedicated backend connection
- per-command: Each command can use a different backend (stateless only)
- hybrid: Starts in per-command mode, auto-switches to stateful on first stateful command
config: ConfigPathConfiguration file path
threads: Option<ThreadCount>Number of worker threads (default: 1, use 0 for CPU cores)
Implementations§
Source§impl CommonArgs
impl CommonArgs
Sourcepub fn listen_addr(&self, config_port: Option<Port>) -> String
pub fn listen_addr(&self, config_port: Option<Port>) -> String
Sourcepub fn effective_port(&self, config_port: Option<Port>) -> Option<Port>
pub fn effective_port(&self, config_port: Option<Port>) -> Option<Port>
Get effective port (from args or config)
Sourcepub fn effective_host(&self) -> &str
pub fn effective_host(&self) -> &str
Get effective host
Trait Implementations§
Source§impl Args for CommonArgs
impl Args for CommonArgs
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
Append to
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl Clone for CommonArgs
impl Clone for CommonArgs
Source§fn clone(&self) -> CommonArgs
fn clone(&self) -> CommonArgs
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl CommandFactory for CommonArgs
impl CommandFactory for CommonArgs
Source§impl Debug for CommonArgs
impl Debug for CommonArgs
Source§impl FromArgMatches for CommonArgs
impl FromArgMatches for CommonArgs
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>
Assign values from
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>
Assign values from
ArgMatches to self.Source§impl Parser for CommonArgs
impl Parser for CommonArgs
Source§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
Parse from iterator, exit on error.
Source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
Parse from iterator, return Err on error.
Source§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Auto Trait Implementations§
impl Freeze for CommonArgs
impl RefUnwindSafe for CommonArgs
impl Send for CommonArgs
impl Sync for CommonArgs
impl Unpin for CommonArgs
impl UnwindSafe for CommonArgs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more