| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- 'use strict'
- /**
- * This is a Globally Unique Identifier unique used to validate that the
- * endpoint accepts websocket connections.
- * @see https://www.rfc-editor.org/rfc/rfc6455.html#section-1.3
- * @type {'258EAFA5-E914-47DA-95CA-C5AB0DC85B11'}
- */
- const uid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'
- /**
- * @type {PropertyDescriptor}
- */
- const staticPropertyDescriptors = {
- enumerable: true,
- writable: false,
- configurable: false
- }
- /**
- * The states of the WebSocket connection.
- *
- * @readonly
- * @enum
- * @property {0} CONNECTING
- * @property {1} OPEN
- * @property {2} CLOSING
- * @property {3} CLOSED
- */
- const states = {
- CONNECTING: 0,
- OPEN: 1,
- CLOSING: 2,
- CLOSED: 3
- }
- /**
- * @readonly
- * @enum
- * @property {0} NOT_SENT
- * @property {1} PROCESSING
- * @property {2} SENT
- */
- const sentCloseFrameState = {
- SENT: 1,
- RECEIVED: 2
- }
- /**
- * The WebSocket opcodes.
- *
- * @readonly
- * @enum
- * @property {0x0} CONTINUATION
- * @property {0x1} TEXT
- * @property {0x2} BINARY
- * @property {0x8} CLOSE
- * @property {0x9} PING
- * @property {0xA} PONG
- * @see https://datatracker.ietf.org/doc/html/rfc6455#section-5.2
- */
- const opcodes = {
- CONTINUATION: 0x0,
- TEXT: 0x1,
- BINARY: 0x2,
- CLOSE: 0x8,
- PING: 0x9,
- PONG: 0xA
- }
- /**
- * The maximum value for an unsigned 16-bit integer.
- *
- * @type {65535} 2 ** 16 - 1
- */
- const maxUnsigned16Bit = 65535
- /**
- * The states of the parser.
- *
- * @readonly
- * @enum
- * @property {0} INFO
- * @property {2} PAYLOADLENGTH_16
- * @property {3} PAYLOADLENGTH_64
- * @property {4} READ_DATA
- */
- const parserStates = {
- INFO: 0,
- PAYLOADLENGTH_16: 2,
- PAYLOADLENGTH_64: 3,
- READ_DATA: 4
- }
- /**
- * An empty buffer.
- *
- * @type {Buffer}
- */
- const emptyBuffer = Buffer.allocUnsafe(0)
- /**
- * @readonly
- * @property {1} text
- * @property {2} typedArray
- * @property {3} arrayBuffer
- * @property {4} blob
- */
- const sendHints = {
- text: 1,
- typedArray: 2,
- arrayBuffer: 3,
- blob: 4
- }
- module.exports = {
- uid,
- sentCloseFrameState,
- staticPropertyDescriptors,
- states,
- opcodes,
- maxUnsigned16Bit,
- parserStates,
- emptyBuffer,
- sendHints
- }
|