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

Method allocateResponseBuffer

Libraries/HttpClient/HttpClient.cpp:1408–1446  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1406 const Result effectiveUrlResult = copyResponseEffectiveUrl(currentRequest.url);
1407 if (not effectiveUrlResult)
1408 {
1409 requestInFlight = false;
1410 return effectiveUrlResult;
1411 }
1412
1413 const Result startResult = platformStart();
1414 if (not startResult)
1415 {
1416 requestInFlight = false;
1417 }
1418 return startResult;
1419}
1420
1421SC::Result SC::HttpClientOperation::enqueueEvent(const HttpClientOperationEvent& event)
1422{
1423 eventMutex.lock();
1424 while (eventCount >= eventQueue.sizeInElements())
1425 {
1426 eventCV.wait(eventMutex);
1427 }
1428 eventQueue[eventTail] = event;
1429 eventTail = (eventTail + 1) % eventQueue.sizeInElements();
1430 eventCount += 1;
1431 eventCV.signal();
1432 eventMutex.unlock();
1433
1434 if (notifier != nullptr)
1435 {
1436 notifier->notifyHttpClientOperation(*this);
1437 }
1438 return Result(true);
1439}
1440
1441bool SC::HttpClientOperation::dequeueEvent(HttpClientOperationEvent& event)
1442{
1443 eventMutex.lock();
1444 if (eventCount == 0)
1445 {
1446 eventMutex.unlock();
1447 return false;
1448 }
1449 event = eventQueue[eventHead];

Callers

nothing calls this directly

Calls 6

ErrorEnum · 0.50
ResultClass · 0.50
lockMethod · 0.45
sizeInBytesMethod · 0.45
unlockMethod · 0.45
waitMethod · 0.45

Tested by

no test coverage detected