pub struct WebSocket { /* private fields */ }
Expand description
The meta data related to a websocket. Allows access to the methods on the WebSocket API.
This is split from the Stream
/Sink
so you can pass the latter to a combinator whilst
continuing to use this API.
A WsMeta
instance is observable through the pharos::Observable
trait. The type of event is WsEvent. In the case of a Close event, there will be additional information included
as a CloseEvent.
When you drop this, the connection does not get closed, however when you drop WsStream it does.
Most of the methods on this type directly map to the web API. For more documentation, check the MDN WebSocket documentation.
Implementations§
Source§impl WsMeta
impl WsMeta
Sourcepub async fn connect(url: impl AsRef<str>) -> Result<(Self, WsStream), WsErr>
pub async fn connect(url: impl AsRef<str>) -> Result<(Self, WsStream), WsErr>
Connect to the server. The future will resolve when the connection has been established with a successful WebSocket handshake.
Sourcepub async fn close(&self) -> Result<CloseEvent, WsErr>
pub async fn close(&self) -> Result<CloseEvent, WsErr>
Close the socket. The future will resolve once the socket’s state has become WsState::CLOSED
.
See: MDN Documentation
Sourcepub async fn close_code(&self, code: u16) -> Result<CloseEvent, WsErr>
pub async fn close_code(&self, code: u16) -> Result<CloseEvent, WsErr>
Close the socket. The future will resolve once the socket’s state has become WsState::CLOSED
.
See: MDN Documentation
Sourcepub async fn close_reason(
&self,
code: u16,
reason: impl AsRef<str>,
) -> Result<CloseEvent, WsErr>
pub async fn close_reason( &self, code: u16, reason: impl AsRef<str>, ) -> Result<CloseEvent, WsErr>
Close the socket. The future will resolve once the socket’s state has become WsState::CLOSED
.
See: MDN Documentation
Sourcepub fn ready_state(&self) -> WsState
pub fn ready_state(&self) -> WsState
Verify the WsState of the connection.
Sourcepub fn wrapped(&self) -> &WebSocket
pub fn wrapped(&self) -> &WebSocket
Access the wrapped web_sys::WebSocket directly.
ws_stream_wasm tries to expose all useful functionality through an idiomatic rust API, so hopefully you won’t need this, however if I missed something, you can.
§Caveats
If you call set_onopen
, set_onerror
, set_onmessage
or set_onclose
on this, you will overwrite
the event listeners from ws_stream_wasm
, and things will break.
Sourcepub fn buffered_amount(&self) -> u32
pub fn buffered_amount(&self) -> u32
The number of bytes of data that have been queued but not yet transmitted to the network.
NOTE: that this is the number of bytes buffered by the underlying platform WebSocket implementation. It does not reflect any buffering performed by ws_stream_wasm.
Sourcepub fn extensions(&self) -> String
pub fn extensions(&self) -> String
The extensions selected by the server as negotiated during the connection.
NOTE: This is an untested feature. The back-end server we use for testing (tungstenite) does not support Extensions.