Skip to main content

ServerSection

Struct ServerSection 

Source
pub struct ServerSection {
    pub bind: Option<String>,
    pub port: Option<u16>,
    pub drain_secs: Option<u64>,
    pub stop_checkpoint_secs: Option<u64>,
}
Expand description

Where the server binds and listens.

Reload: needs a restart. A listener is bound once, at startup.

Fields§

§bind: Option<String>

The address to bind, as an IP literal. No flag mirrors this, only this key.

Unset binds ::, the unspecified IPv6 address, which accepts IPv4 callers too through a dual-stack socket: one listener answers both families, and 127.0.0.1 and [::1] both reach it. Naming an address narrows that. 127.0.0.1 reaches only callers on this host, which is what a deployment behind a reverse proxy on the same machine wants; a host’s own public address pins the listener to one interface on a machine with several.

An address this host does not hold refuses startup, from the bind itself, naming the address.

§port: Option<u16>

The port to listen on. Mirrors --port.

Reasonable range: 1024 to 65_535. Below 1024 a Unix host wants privileges this process should not be started with; a deployment that answers the internet on 443 gets there through a proxy or a redirect, not by running as root. The built-in default is 3000.

§drain_secs: Option<u64>

How long a stop waits for requests in flight once it has stopped accepting, in seconds. No flag mirrors this, only this key.

Reasonable range: 1 to 60. A request that outlives it is cut off. The deployment’s unit allows 200 seconds from SIGTERM to SIGKILL, which this and stop_checkpoint_secs share. The built-in default is 10.

§stop_checkpoint_secs: Option<u64>

How long a stop waits for a checkpoint taken while the server still serves, in seconds, before it stops accepting. The next boot then replays only what was written after it. No flag mirrors this, only this key.

Reasonable range: 0 to 120. 0 takes no checkpoint on a stop. A checkpoint still running when this runs out is abandoned, which costs nothing: the next boot replays from the one before. The built-in default is 30.

Trait Implementations§

Source§

impl Clone for ServerSection

Source§

fn clone(&self) -> ServerSection

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ServerSection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ServerSection

Source§

fn default() -> ServerSection

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ServerSection

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ServerSection

Source§

fn eq(&self, other: &ServerSection) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for ServerSection

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for ServerSection

Source§

impl StructuralPartialEq for ServerSection

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,