stream-ws
A layer over WebSocket enables carrying byte stream, for both native and WebAssembly.
Providing methods able to wrap any WebSocket message stream implementation,
and impl AsyncRead,
AsyncBufRead
and AsyncWrite.
Usage
run cargo add stream-ws to bring it into your crate.
Examples in examples/.
Tungstenite
With feature tungstenite.
For WebSocketStream in either crate tokio-tungstenite
or async-tungstenite,
use
let stream = new
Gloo (for WebAssembly)
With feature gloo.
For WebSocket
in crate gloo
use
let stream = new
Wrapping underlying stream of other WebSocket implementation
Your WebSocket implementation should have a struct S satisfying trait bound
+ + Unpin
where Msg and E
are message and error type of the implementation.
Create a struct Handler and impl
WsMessageHandle,
which is easy, and then
call Handler::wrap_stream(underlying_stream)
to get a WsByteStream.
Crate features
tokio: impltokio'sAsyncRead,AsyncBufReadandAsyncWritevariantstungstenite: handlers for message and error type from cratetungstenitegloo: handlers for message and error type from crategloo
License: MIT OR Apache-2.0