MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / onFrameHeader

Method onFrameHeader

Libraries/Http/HttpWebSocket.cpp:951–982  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

949}
950
951Result HttpWebSocketMessageAssembler::onFrameHeader(const HttpWebSocketFrameHeaderView& header)
952{
953 currentFrame = header;
954 ignoringFrame = header.isControlFrame();
955 if (ignoringFrame)
956 {
957 return Result(true);
958 }
959
960 if (header.opcode == HttpWebSocketOpcode::Continuation)
961 {
962 SC_TRY_MSG(assemblingMessage, "HttpWebSocketMessageAssembler unexpected continuation");
963 }
964 else
965 {
966 SC_TRY_MSG(not assemblingMessage, "HttpWebSocketMessageAssembler new message before final continuation");
967 messageOpcode = header.opcode;
968 messageSize = 0;
969 assemblingMessage = true;
970 }
971
972 if (header.payloadLength == 0 and header.fin)
973 {
974 if (onMessage.isValid())
975 {
976 SC_TRY(onMessage(messageOpcode, {messageStorage.data(), messageSize}));
977 }
978 assemblingMessage = false;
979 messageSize = 0;
980 }
981 return Result(true);
982}
983
984Result HttpWebSocketMessageAssembler::onFramePayload(Span<char> payload, bool frameFinished)
985{

Callers

nothing calls this directly

Calls 4

isControlFrameMethod · 0.80
ResultClass · 0.50
isValidMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected