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

Method writeFrame

Libraries/Http/HttpWebSocket.cpp:1343–1356  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1341}
1342
1343Result HttpWebSocketConnectionPump::writeFrame(Span<const char> frame)
1344{
1345 SC_TRY_MSG(transport.isValid(), "HttpWebSocketConnectionPump is not attached");
1346 SC_TRY_MSG(not frame.empty(), "HttpWebSocketConnectionPump cannot write empty frame");
1347
1348 AsyncBufferView::ID bufferID;
1349 Span<char> writableData;
1350 SC_TRY(transport.buffersPool->requestNewBuffer(frame.sizeInBytes(), bufferID, writableData));
1351 ::memcpy(writableData.data(), frame.data(), frame.sizeInBytes());
1352 transport.buffersPool->setNewBufferSize(bufferID, frame.sizeInBytes());
1353 const Result writeResult = transport.writableStream->write(bufferID);
1354 transport.buffersPool->unrefBuffer(bufferID);
1355 return writeResult;
1356}
1357
1358Result HttpWebSocketConnectionPump::flushPendingControlFrame()
1359{

Callers 1

Calls 7

requestNewBufferMethod · 0.80
setNewBufferSizeMethod · 0.80
unrefBufferMethod · 0.80
isValidMethod · 0.45
sizeInBytesMethod · 0.45
dataMethod · 0.45
writeMethod · 0.45

Tested by 1