Lines Matching refs:wsFrame
85 bool WebSocketBase::ReadPayload(WebSocketFrame& wsFrame) const
87 if (wsFrame.payloadLen == WebSocketFrame::TWO_BYTES_LENTH_ENC) {
93 wsFrame.payloadLen = NetToHostLongLong(recvbuf, WebSocketFrame::TWO_BYTES_LENTH);
94 } else if (wsFrame.payloadLen == WebSocketFrame::EIGHT_BYTES_LENTH_ENC) {
100 wsFrame.payloadLen = NetToHostLongLong(recvbuf, WebSocketFrame::EIGHT_BYTES_LENTH);
102 return DecodeMessage(wsFrame);
105 bool WebSocketBase::HandleDataFrame(WebSocketFrame& wsFrame) const
107 if (wsFrame.opcode == EnumToNumber(FrameType::TEXT)) {
108 return ReadPayload(wsFrame);
110 LOGW("Received unsupported data frame, opcode = %{public}d", wsFrame.opcode);
115 bool WebSocketBase::HandleControlFrame(WebSocketFrame& wsFrame)
117 if (wsFrame.opcode == EnumToNumber(FrameType::PING)) {
122 if (!ReadPayload(wsFrame)) {
126 SendPongFrame(wsFrame.payload);
127 } else if (wsFrame.opcode == EnumToNumber(FrameType::CLOSE)) {
147 WebSocketFrame wsFrame(recvbuf);
148 if (!ValidateIncomingFrame(wsFrame)) {
154 if (IsControlFrame(wsFrame.opcode)) {
155 if (HandleControlFrame(wsFrame)) {
156 return wsFrame.payload;
158 } else if (HandleDataFrame(wsFrame)) {
159 return wsFrame.payload;