Guava.Socket.Protocol (Guava v0.34.0)

Copy Markdown View Source

The GuavaSocket framing protocol: a reliable-messaging layer carried as JSON text frames over a WebSocket. Mirrors guava.socket.protocol.

Summary

Functions

Valid close reasons.

Decode a JSON string into a frame struct. Raises on unknown types.

Encode a frame struct to a JSON string.

Build a frame struct from a decoded JSON map.

Types

frame()

@type frame() ::
  Guava.Socket.Protocol.Open.t()
  | Guava.Socket.Protocol.OpenAck.t()
  | Guava.Socket.Protocol.Close.t()
  | Guava.Socket.Protocol.Message.t()
  | Guava.Socket.Protocol.Ping.t()
  | Guava.Socket.Protocol.Pong.t()
  | Guava.Socket.Protocol.Ack.t()

Functions

close_reasons()

@spec close_reasons() :: [String.t()]

Valid close reasons.

decode!(json)

@spec decode!(String.t() | binary()) :: frame()

Decode a JSON string into a frame struct. Raises on unknown types.

encode!(frame)

@spec encode!(frame()) :: String.t()

Encode a frame struct to a JSON string.

from_map(m)

@spec from_map(map()) :: frame()

Build a frame struct from a decoded JSON map.