pub struct WebSocket { /* private fields */ }
Available on crate features net and websocket only.
Expand description

Wrapper around browser’s WebSocket API.

Implementations§

source§

impl WebSocket

source

pub fn open(url: &str) -> Result<WebSocket, JsError>

Establish a WebSocket connection.

This function may error in the following cases:

  • The port to which the connection is being attempted is being blocked.
  • The URL is invalid.

The error returned is JsError. See the MDN Documentation to learn more.

source

pub fn open_with_protocol( url: &str, protocol: &str ) -> Result<WebSocket, JsError>

Establish a WebSocket connection.

This function may error in the following cases:

  • The port to which the connection is being attempted is being blocked.
  • The URL is invalid.
  • The specified protocol is not supported

The error returned is JsError. See the MDN Documentation to learn more.

source

pub fn open_with_protocols<S>( url: &str, protocols: &[S] ) -> Result<WebSocket, JsError>where S: AsRef<str> + Serialize,

Available on crate feature json only.

Establish a WebSocket connection.

This function may error in the following cases:

  • The port to which the connection is being attempted is being blocked.
  • The URL is invalid.
  • The specified protocols are not supported
  • The protocols cannot be converted to a JSON string list

The error returned is JsError. See the MDN Documentation to learn more.

This function requires json features because protocols are parsed by serde into JsValue.

source

pub fn close( self, code: Option<u16>, reason: Option<&str> ) -> Result<(), JsError>

Closes the websocket.

See the MDN Documentation to learn about parameters passed to this function and when it can return an Err(_)

source

pub fn state(&self) -> State

The current state of the websocket.

source

pub fn extensions(&self) -> String

The extensions in use.

source

pub fn protocol(&self) -> String

The sub-protocol in use.

Trait Implementations§

source§

impl Drop for WebSocket

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Sink<Message> for WebSocket

§

type Error = WebSocketError

The type of value produced by the sink when an error occurs.
source§

fn poll_ready( self: Pin<&mut WebSocket>, cx: &mut Context<'_> ) -> Poll<Result<(), <WebSocket as Sink<Message>>::Error>>

Attempts to prepare the Sink to receive a value. Read more
source§

fn start_send( self: Pin<&mut WebSocket>, item: Message ) -> Result<(), <WebSocket as Sink<Message>>::Error>

Begin the process of sending a value to the sink. Each call to this function must be preceded by a successful call to poll_ready which returned Poll::Ready(Ok(())). Read more
source§

fn poll_flush( self: Pin<&mut WebSocket>, _cx: &mut Context<'_> ) -> Poll<Result<(), <WebSocket as Sink<Message>>::Error>>

Flush any remaining output from this sink. Read more
source§

fn poll_close( self: Pin<&mut WebSocket>, _cx: &mut Context<'_> ) -> Poll<Result<(), <WebSocket as Sink<Message>>::Error>>

Flush any remaining output and close this sink, if necessary. Read more
source§

impl Stream for WebSocket

§

type Item = Result<Message, WebSocketError>

Values yielded by the stream.
source§

fn poll_next( self: Pin<&mut WebSocket>, cx: &mut Context<'_> ) -> Poll<Option<<WebSocket as Stream>::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more
source§

impl<'pin> Unpin for WebSocketwhere __WebSocket<'pin>: Unpin,

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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<S, T, E> TryStream for Swhere S: Stream<Item = Result<T, E>> + ?Sized,

§

type Ok = T

The type of successful values yielded by this future
§

type Error = E

The type of failures yielded by this future
§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_> ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more