gramps/websocket

Types

pub type CloseReason {
  NotProvided
  Normal(body: BitArray)
  GoingAway(body: BitArray)
  ProtocolError(body: BitArray)
  UnexpectedDataType(body: BitArray)
  InconsistentDataType(body: BitArray)
  PolicyViolation(body: BitArray)
  MessageTooBig(body: BitArray)
  MissingExtensions(body: BitArray)
  UnexpectedCondition(body: BitArray)
  CustomCloseReason(code: Int, body: BitArray)
}

Constructors

  • NotProvided
  • Normal(body: BitArray)
  • GoingAway(body: BitArray)
  • ProtocolError(body: BitArray)
  • UnexpectedDataType(body: BitArray)
  • InconsistentDataType(body: BitArray)
  • PolicyViolation(body: BitArray)
  • MessageTooBig(body: BitArray)
  • MissingExtensions(body: BitArray)
  • UnexpectedCondition(body: BitArray)
  • CustomCloseReason(code: Int, body: BitArray)

    Usually used for 4000 codes.

    Arguments

    code

    If code >= 5000, it will be the same as a Normal close reason.

pub type ControlFrame {
  CloseFrame(reason: CloseReason)
  PingFrame(payload: BitArray)
  PongFrame(payload: BitArray)
}

Constructors

  • CloseFrame(reason: CloseReason)
  • PingFrame(payload: BitArray)
  • PongFrame(payload: BitArray)
pub type DataFrame {
  TextFrame(payload: BitArray)
  BinaryFrame(payload: BitArray)
}

Constructors

  • TextFrame(payload: BitArray)
  • BinaryFrame(payload: BitArray)
pub type Frame {
  Data(DataFrame)
  Control(ControlFrame)
  Continuation(length: Int, payload: BitArray)
}

Constructors

pub type FrameParseError {
  NeedMoreData(BitArray)
  InvalidFrame
}

Constructors

  • NeedMoreData(BitArray)
  • InvalidFrame
pub type ParsedFrame {
  Complete(Frame)
  Incomplete(Frame)
}

Constructors

Values

pub fn aggregate_frames(
  frames: List(ParsedFrame),
  previous: option.Option(Frame),
  joined: List(Frame),
) -> Result(List(Frame), Nil)
pub fn apply_deflate(
  data: BitArray,
  context: option.Option(compression.Context),
) -> BitArray
pub fn apply_inflate(
  data: BitArray,
  context: option.Option(compression.Context),
) -> BitArray
pub fn apply_mask(
  data: BitArray,
  mask: option.Option(BitArray),
) -> BitArray
pub fn decode_frame(
  message: BitArray,
  context: option.Option(compression.Context),
) -> Result(#(ParsedFrame, BitArray), FrameParseError)
pub fn decode_many_frames(
  data: BitArray,
  context: option.Option(compression.Context),
  frames: List(ParsedFrame),
) -> #(List(ParsedFrame), BitArray)
pub fn encode_binary_frame(
  data: BitArray,
  context: option.Option(compression.Context),
  mask: option.Option(BitArray),
) -> bytes_tree.BytesTree
pub fn encode_close_frame(
  reason: CloseReason,
  mask: option.Option(BitArray),
) -> bytes_tree.BytesTree
pub fn encode_continuation_frame(
  data: BitArray,
  total_size: Int,
  mask: option.Option(BitArray),
) -> bytes_tree.BytesTree
pub fn encode_ping_frame(
  data: BitArray,
  mask: option.Option(BitArray),
) -> bytes_tree.BytesTree
pub fn encode_pong_frame(
  data: BitArray,
  mask: option.Option(BitArray),
) -> bytes_tree.BytesTree
pub fn encode_text_frame(
  data: String,
  context: option.Option(compression.Context),
  mask: option.Option(BitArray),
) -> bytes_tree.BytesTree
pub fn get_context_takeovers(
  extensions: List(String),
) -> compression.ContextTakeover
pub fn has_deflate(extensions: List(String)) -> Bool
pub fn make_client_key() -> String
pub fn parse_websocket_key(key: String) -> String
Search Document