From d16a0830d089a7f581e73b2d94bdbbd22fc8a992 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Thu, 26 Apr 2018 23:02:22 +0200 Subject: [PATCH] add Frame data (Opcode, etc) --- ws/frame/opcode/types.go | 34 ++++++++++++++++++++++++++++++++++ ws/frame/types.go | 13 +++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 ws/frame/opcode/types.go create mode 100644 ws/frame/types.go diff --git a/ws/frame/opcode/types.go b/ws/frame/opcode/types.go new file mode 100644 index 0000000..87b968f --- /dev/null +++ b/ws/frame/opcode/types.go @@ -0,0 +1,34 @@ +package opcode + +import ( + "git.xdrm.io/gws/internal/ws/frame" +) + +// Represents OpCode Values +const ( + // frame continuation + CONTINUATION frame.OpCode = 0x00 + + // frame type + TEXT frame.OpCode = 0x01 + BINARY frame.OpCode = 0x02 + + // reserved for non-control frames + RSV1 frame.OpCode = 0x03 + RSV2 frame.OpCode = 0x04 + RSV3 frame.OpCode = 0x05 + RSV4 frame.OpCode = 0x06 + + // connection close + CLOSE frame.OpCode = 0x08 + + // ping pong + PING frame.OpCode = 0x09 + PONG frame.OpCode = 0x0A + + // reserved for control frames + CRSV1 frame.OpCode = 0x0B + CRSV2 frame.OpCode = 0x0C + CRSV3 frame.OpCode = 0x0D + CRSV4 frame.OpCode = 0x0E +) \ No newline at end of file diff --git a/ws/frame/types.go b/ws/frame/types.go new file mode 100644 index 0000000..fbeddf9 --- /dev/null +++ b/ws/frame/types.go @@ -0,0 +1,13 @@ +package frame + +// Represents an OpCode +type OpCode byte + + + +// Represents a frame metadata +type Header struct { + fin bool + opc OpCode + msk []byte // len: 4 if set, else empty +} \ No newline at end of file