oa_gateway_owp::config

Struct OwpConfig

Source
pub struct OwpConfig {
Show 17 fields pub bind: SocketAddr, pub server_id: String, pub system_label: String, pub schema: Option<String>, pub system_uuid: String, pub unwrap_ma_payloads: bool, pub xml_baseline: bool, pub max_frame_size: usize, pub max_connections: usize, pub max_subscriptions: usize, pub init_timeout: Option<Duration>, pub idle_timeout: Option<Duration>, pub allowed_origins: Vec<String>, pub validate: Mode, pub on_panic: OnPanic, pub reconnect: bool, pub reconnect_delay: Duration,
}
Expand description

Settings for one OWP listener.

Self::schema is the INIT protocol version, not a UCI catalog. Self::system_uuid is minted per process by the host, not read from TOML.

Fields§

§bind: SocketAddr

Address already resolved by the host.

§server_id: String

Server identity sent on INFO.

§system_label: String

Human-readable label sent on INFO.

§schema: Option<String>

When set, INIT.schema must match exactly. None skips the check.

§system_uuid: String

System UUID sent on INFO. Generated per process, not configured.

§unwrap_ma_payloads: bool

Peel A-GRA Rx/Tx hex wrappers on PUB and fan out wrapper + inner.

§xml_baseline: bool

Convert OMS JSON ↔ UCI XML at the socket. Engine / ASB see XML.

§max_frame_size: usize

Largest frame accepted from a client. Oversized frames end the session.

§max_connections: usize

Connections served at once. Further ones are closed on accept.

§max_subscriptions: usize

Subscriptions one connection may hold.

§init_timeout: Option<Duration>

Deadline from an accepted WebSocket to a successful INIT. None disables it. Measured from the handshake, not reset by traffic: a peer that connects and never INITs is closed when this elapses.

§idle_timeout: Option<Duration>

Longest gap with no frame in either direction on an active session. None disables it. Any client frame and any server frame resets it, so an active publisher or subscriber is never closed for being idle.

§allowed_origins: Vec<String>

Exact Origin header values accepted at the WebSocket handshake. Empty (the default) accepts any origin, including none, which is the behavior before this list existed. When non-empty, a handshake whose Origin is not listed verbatim is refused with 403.

§validate: Mode

What to do about a payload that does not follow the loaded schema. Has no effect without one: there is nothing to check against.

§on_panic: OnPanic

Panic in the accept loop: abort run, or treat it as a failed session.

§reconnect: bool

Rebind and accept again after the accept loop ends or panics.

§reconnect_delay: Duration

Sleep between rebind attempts.

Trait Implementations§

Source§

impl Clone for OwpConfig

Source§

fn clone(&self) -> OwpConfig

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for OwpConfig

Source§

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

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

impl Default for OwpConfig

Source§

fn default() -> Self

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

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, dst: *mut u8)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more