← Back

Module websocket

const WS_MAGIC_GUID: &str

WebSocket magic GUID for handshake

Source: websocket.joule:11

enum Opcode

Source: websocket.joule:15

fn from_u8(value: u8) -> Option<Self>

Source: websocket.joule:25

struct CloseCode(pub u16);

Source: websocket.joule:40

const NORMAL: CloseCode

Source: websocket.joule:43

const GOING_AWAY: CloseCode

Source: websocket.joule:44

const PROTOCOL_ERROR: CloseCode

Source: websocket.joule:45

const UNSUPPORTED: CloseCode

Source: websocket.joule:46

const NO_STATUS: CloseCode

Source: websocket.joule:47

const ABNORMAL: CloseCode

Source: websocket.joule:48

const INVALID_DATA: CloseCode

Source: websocket.joule:49

const POLICY_VIOLATION: CloseCode

Source: websocket.joule:50

const MESSAGE_TOO_BIG: CloseCode

Source: websocket.joule:51

const EXTENSION_REQUIRED: CloseCode

Source: websocket.joule:52

const INTERNAL_ERROR: CloseCode

Source: websocket.joule:53

enum Message

Source: websocket.joule:58

fn text(s: &str) -> Self

Create text message

Source: websocket.joule:68

fn binary(data: Vec<u8>) -> Self

Create binary message

Source: websocket.joule:73

fn ping(data: Vec<u8>) -> Self

Create ping message

Source: websocket.joule:78

fn pong(data: Vec<u8>) -> Self

Create pong message

Source: websocket.joule:83

fn close(code: CloseCode, reason: &str) -> Self

Create close message

Source: websocket.joule:88

fn opcode(&self) -> Opcode

Get opcode

Source: websocket.joule:93

fn payload(&self) -> Vec<u8>

Get payload

Source: websocket.joule:104

fn is_control(&self) -> bool

Check if control frame

Source: websocket.joule:122

enum State

Source: websocket.joule:129

struct WebSocketConfig

WebSocket configuration

Source: websocket.joule:137

fn default() -> Self

Source: websocket.joule:145

struct WebSocket

WebSocket connection

Source: websocket.joule:156

fn connect(url: &str) -> Result<Self, WebSocketError>

Source: websocket.joule:166

fn connect_with_config(url: &str, config: WebSocketConfig) -> Result<Self, WebSocketError>

Source: websocket.joule:172

fn accept(stream: TcpStream, request: &Request) -> Result<Self, WebSocketError>

Source: websocket.joule:233

fn accept_with_config(

Source: websocket.joule:239

fn state(&self) -> State

Get connection state

Source: websocket.joule:279

fn is_open(&self) -> bool

Check if open

Source: websocket.joule:284

fn send(&mut self, message: &Message) -> Result<(), WebSocketError>

Source: websocket.joule:290

fn recv(&mut self) -> Result<Message, WebSocketError>

Source: websocket.joule:309

fn close(&mut self, code: CloseCode, reason: &str) -> Result<(), WebSocketError>

Source: websocket.joule:388

fn write_frame(&mut self, fin: bool, opcode: Opcode, payload: &[u8]) -> Result<(), WebSocketError>

Write a frame to the stream

Source: websocket.joule:407

fn read_frame(&mut self) -> Result<(bool, Opcode, Vec<u8>), WebSocketError>

Read a frame from the stream

Source: websocket.joule:445

fn compute_accept_key(key: &str) -> String

Compute Sec-WebSocket-Accept value

Source: websocket.joule:500

enum WebSocketError

Source: websocket.joule:508

fn from(e: std::io::Error) -> Self

Source: websocket.joule:526

fn from(e: TcpError) -> Self

Source: websocket.joule:532

trait WsHandler: Send + Sync

WebSocket server handler trait

Source: websocket.joule:542

fn on_open(&self, ws: &mut WebSocket);

Source: websocket.joule:543

fn on_message(&self, ws: &mut WebSocket, message: Message);

Source: websocket.joule:544

fn on_close(&self, ws: &mut WebSocket, code: CloseCode, reason: &str);

Source: websocket.joule:545

struct WebSocketServer

WebSocket server

Source: websocket.joule:549

fn bind(addr: &str) -> Result<Self, WebSocketError>

Create new server

Source: websocket.joule:555

fn run<H: WsHandler + 'static>(&self, handler: H) -> Result<(), WebSocketError>

Source: websocket.joule:562