Wren

Module websocket

WebSocket and CloseEvent. Messages arrive as "message" events: text in Event_data, or a buffer in Event_object.

Exposed to: Window. Source: api/websocket.widl.

Odin: import "wren:websocket".

Types

handle WebSocket : Object

Checked by the browser on every call (lookup_WebSocket).

enum WebSocketState : i32

WebSocket.readyState

membervalue
Connecting0
Open1
Closing2
Closed3

Functions

WebSocket_create

WebSocket WebSocket_create(string url, string protocols = "") raises

new WebSocket(url, protocols): protocols is a comma-separated list ("" = none). Syntax for an invalid URL or protocol list.

Odin: websocket.create.

Raises: returns an Error (see web).

Host: WebSocket_create :: proc(c: ^Call, url: string, protocols: string) -> (u64, Api_Error)

WebSocket_readyState

WebSocketState WebSocket_readyState(WebSocket socket)

Odin: websocket.readyState.

Host: WebSocket_readyState :: proc(c: ^Call, socket: Api_WebSocket) -> Api_WebSocketState

WebSocket_url

string WebSocket_url(WebSocket socket)

Odin: websocket.url.

Host: WebSocket_url :: proc(c: ^Call, socket: Api_WebSocket) -> string

WebSocket_protocol

string WebSocket_protocol(WebSocket socket)

Odin: websocket.protocol.

Host: WebSocket_protocol :: proc(c: ^Call, socket: Api_WebSocket) -> string

WebSocket_extensions

string WebSocket_extensions(WebSocket socket)

Odin: websocket.extensions.

Host: WebSocket_extensions :: proc(c: ^Call, socket: Api_WebSocket) -> string

WebSocket_bufferedAmount

i64 WebSocket_bufferedAmount(WebSocket socket)

Odin: websocket.bufferedAmount.

Host: WebSocket_bufferedAmount :: proc(c: ^Call, socket: Api_WebSocket) -> i64

WebSocket_binaryType

i32 WebSocket_binaryType(WebSocket socket)

0 = "arraybuffer" (buffer handles), the only binary type of this platform.

Odin: websocket.binaryType.

Host: WebSocket_binaryType :: proc(c: ^Call, socket: Api_WebSocket) -> i32

WebSocket_setBinaryType

void WebSocket_setBinaryType(WebSocket socket, i32 binary_type) raises

Not_Supported for anything but 0.

Odin: websocket.setBinaryType.

Raises: returns an Error (see web).

Host: WebSocket_setBinaryType :: proc(c: ^Call, socket: Api_WebSocket, binary_type: i32) -> Api_Error

WebSocket_send

void WebSocket_send(WebSocket socket, usvstring text) raises

socket.send(text). Invalid_State while connecting.

Odin: websocket.send.

Raises: returns an Error (see web).

Host: WebSocket_send :: proc(c: ^Call, socket: Api_WebSocket, text: string) -> Api_Error

WebSocket_sendBuffer

void WebSocket_sendBuffer(WebSocket socket, Buffer data) raises

socket.send(buffer): a binary message.

Odin: websocket.sendBuffer.

Raises: returns an Error (see web).

Host: WebSocket_sendBuffer :: proc(c: ^Call, socket: Api_WebSocket, data: Api_Buffer) -> Api_Error

WebSocket_close

void WebSocket_close(WebSocket socket, i32 code = -1, string reason = "") raises

socket.close(code, reason): code < 0 means absent. Invalid_Access for a code that is not 1000 or 3000-4999, Syntax for a reason over 123 bytes.

Odin: websocket.close.

Raises: returns an Error (see web).

Host: WebSocket_close :: proc(c: ^Call, socket: Api_WebSocket, code: i32, reason: string) -> Api_Error

CloseEvent_wasClean

bool CloseEvent_wasClean(Event event)

CloseEvent.wasClean

Host: CloseEvent_wasClean :: proc(c: ^Call, event: Api_Event) -> bool

Edit this page on GitHub