Struct WebSocketBuilder

Source
pub struct WebSocketBuilder { /* private fields */ }
Expand description

Builder for connecting a WebSocket.

Implementations§

Source§

impl WebSocketBuilder

Source

pub fn new(url: impl AsRef<str>) -> Self

Creates a new WebSocket builder that will connect to the specified URL.

Source

pub fn set_interface(&mut self, interface: Interface)

Sets the WebSocket browser interface to use.

If unset, the stream-based interface is preferred when available.

Source

pub fn set_protocols<P>(&mut self, protocols: impl IntoIterator<Item = P>)
where P: AsRef<str>,

Sets the sub-protocol(s) that the client would like to use.

Subprotocols may be selected from the IANA WebSocket Subprotocol Name Registry or may be custom names jointly understood by the client and the server. A single server can implement multiple WebSocket sub-protocols, and handle different types of interactions depending on the specified value.

If protocols is included, the connection will only be established if the server reports that it has selected one of these sub-protocols.

Source

pub fn set_send_buffer_size(&mut self, send_buffer_size: usize)

Sets the maximum send buffer size in bytes.

The behavior depends on which WebSocket interface is used:

  • For the standard WebSocket interface: when the maximum send buffer size is reached, all sending function stop accepting data until the send buffer size falls below the specified size.

  • For the stream-baed WebSocket interface: when the maximum send buffer size is reach, the application yields to the browser, which decides whether more data can be buffered or not.

Source

pub fn set_receive_buffer_size(&mut self, receive_buffer_size: usize)

Sets the maximum receive buffer size in bytes.

This only affects the standard WebSocket interface.

If the maximum receive buffer size is reached, the WebSocket is closed and an error is returned when trying to read from it.

When using the stream-baed WebSocket interface, the receive buffer size is fully managed by the browser.

Source

pub async fn connect(self) -> Result<WebSocket>

Establishes the WebSocket connection.

Trait Implementations§

Source§

impl Clone for WebSocketBuilder

Source§

fn clone(&self) -> WebSocketBuilder

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 WebSocketBuilder

Source§

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

Formats the value using the given formatter. 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, 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.