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
4000codes.Arguments
- code
-
If
code >= 5000, it will be the same as aNormalclose 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
-
Data(DataFrame) -
Control(ControlFrame) -
Continuation(length: Int, payload: BitArray)
pub type FrameParseError {
NeedMoreData(BitArray)
InvalidFrame
}
Constructors
-
NeedMoreData(BitArray) -
InvalidFrame
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