Skip to main content


class %Net.WebSocket.Frame extends %Library.RegisteredObject

Represents a sent/received frame in a WebSocket connection. This class is internal to the module and should not be used directly.

Property Inventory

Method Inventory


property Fin as %Boolean [ InitialExpression = 1 , Required ];
Property methods: FinDisplayToLogical(), FinGet(), FinIsValid(), FinLogicalToDisplay(), FinNormalize(), FinSet()
property HasMessage as %Boolean [ InitialExpression = 1 ];
Set to false if Read() times out rather than receiving a message
Property methods: HasMessageDisplayToLogical(), HasMessageGet(), HasMessageIsValid(), HasMessageLogicalToDisplay(), HasMessageNormalize(), HasMessageSet()
property Masked as %Boolean [ InitialExpression = 0 , Required ];
Set to 1 if the payload was received masked Always set to 1 in send
Property methods: MaskedDisplayToLogical(), MaskedGet(), MaskedIsValid(), MaskedLogicalToDisplay(), MaskedNormalize(), MaskedSet()
property MaskingKey as %Binary;
4-byte masking key (if Masked is true) If not provided prior to send, will be generated randomly
Property methods: MaskingKeyGet(), MaskingKeyIsValid(), MaskingKeySet()
property Opcode as %Integer (MAXVAL = 10, MINVAL = 0) [ Required ];
Valid values (macros in HSMOD.WebSocket.INC) are: $$$WebSocketOpContinuation 0 $$$WebSocketOpTextFrame 1 $$$WebSocketOpBinaryFrame 2 $$$WebSocketOpClose 8 $$$WebSocketOpPing 9 $$$WebSocketOpPong 10
Property methods: OpcodeDisplayToLogical(), OpcodeGet(), OpcodeIsValid(), OpcodeLogicalToDisplay(), OpcodeNormalize(), OpcodeSet()
property PayloadData as %Stream.TmpBinary [ Required ];
Unmasked binary/character data received or to send - on write, this is masked before sending; on read, it is unmasked automatically.
Property methods: PayloadDataDelete(), PayloadDataGet(), PayloadDataGetObject(), PayloadDataGetObjectId(), PayloadDataGetSwizzled(), PayloadDataIsValid(), PayloadDataNewObject(), PayloadDataOid(), PayloadDataOpen(), PayloadDataSet(), PayloadDataSetObject(), PayloadDataSetObjectId(), PayloadDataUnSwizzle()
property PayloadLength as %Integer [ InitialExpression = 0 , Required ];
The length of payload data
Property methods: PayloadLengthDisplayToLogical(), PayloadLengthGet(), PayloadLengthIsValid(), PayloadLengthLogicalToDisplay(), PayloadLengthNormalize(), PayloadLengthSet()
property RSV1 as %Boolean [ InitialExpression = 0 , Required ];
Reserved - always 0
Property methods: RSV1DisplayToLogical(), RSV1Get(), RSV1IsValid(), RSV1LogicalToDisplay(), RSV1Normalize(), RSV1Set()
property RSV2 as %Boolean [ InitialExpression = 0 , Required ];
Reserved - always 0
Property methods: RSV2DisplayToLogical(), RSV2Get(), RSV2IsValid(), RSV2LogicalToDisplay(), RSV2Normalize(), RSV2Set()
property RSV3 as %Boolean [ InitialExpression = 0 , Required ];
Reserved - always 0
Property methods: RSV3DisplayToLogical(), RSV3Get(), RSV3IsValid(), RSV3LogicalToDisplay(), RSV3Normalize(), RSV3Set()


method Mask(pString As %String) as %String
Masks the input string by XOR-ing 4-byte chunks with the masking key
method Read(pTimeout As %Integer)
Translates bytes read from the TCP device into a frame
method Write()
Translates the frame into the wire format and writes it to the TCP device

Inherited Members

Inherited Methods

FeedbackOpens in a new tab