WebSocketConfig

Struct WebSocketConfig 

Source
pub struct WebSocketConfig {
    pub url: String,
    pub authorization: Option<String>,
    pub auto_reconnect: bool,
    pub reconnect_interval: Duration,
    pub ping_interval: Duration,
    pub ping_timeout: Duration,
    pub max_reconnect_attempts: Option<u32>,
    pub filtered_events: Option<Vec<String>>,
}
Expand description

WebSocket-specific configuration.

Fields§

§url: String

Websocket event channel URL. eg: ws://192.168.1.2:3000/ws

§authorization: Option<String>

Optional Websocket authorization header token.

§auto_reconnect: bool

Should the websocket connection automatically reconnect if disconnected.

§reconnect_interval: Duration

Interval to use between reconnection attempts.

§ping_interval: Duration

The interval between sending websocket pings.

§ping_timeout: Duration

Timeout duration for missing pings.

§max_reconnect_attempts: Option<u32>

Maximum reconnection attempts (None = unlimited).

§filtered_events: Option<Vec<String>>

Optional set of events that should be listened to. This is added to the websocket connection URI, and the server filters out events before sending them. By default, all events are sent when none are selected.

Implementations§

Source§

impl WebSocketConfig

Source

pub const WS_DEFAULT_RECONNECT_INTERVAL: u64 = 5

The default interval to use between connection attempts. Sequential attempts use a backoff up to 60 seconds.

Source

pub const WS_DEFAULT_PING_INTERVAL: u64 = 10

The interval between sending ping messages.

Source

pub const WS_DEFAULT_PING_TIMEOUT: u64 = 30

The duration between the last ping to count as a timeout.

Source

pub fn new(url: impl Into<String>) -> Self

Create a new WebSocket configuration with default settings.

Source

pub fn with_auth(self, token: impl Into<String>) -> Self

Set the authorization token.

Source

pub fn with_auto_reconnect(self, enabled: bool) -> Self

Enable or disable auto-reconnection.

Source

pub fn with_reconnect_interval(self, interval: Duration) -> Self

Set the reconnection interval.

Source

pub fn with_ping_interval(self, interval: Duration) -> Self

Set the ping interval.

Source

pub fn with_ping_timeout(self, timeout: Duration) -> Self

Set the ping timeout.

Source

pub fn with_max_reconnect_attempts(self, max_attempts: Option<u32>) -> Self

Set maximum reconnection attempts (None = unlimited).

Source

pub fn with_filtered_events( self, events: Option<Vec<impl Into<String>>>, ) -> Self

Set filtered listen events, this is included in the connection query-string. The provided Vec should contain every event name that should be sent by the server. If None, filtering is disabled so all events are sent.

Trait Implementations§

Source§

impl Clone for WebSocketConfig

Source§

fn clone(&self) -> WebSocketConfig

Returns a duplicate 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 WebSocketConfig

Source§

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

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

impl Default for WebSocketConfig

Available on crate feature websocket only.
Source§

fn default() -> Self

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

impl From<WebSocketConfig> for ClientConfig

Available on crate feature websocket only.
Source§

fn from(ws: WebSocketConfig) -> Self

Converts to this type from the input type.

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> Instrument for T

Source§

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

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

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,