MCPcopy Create free account
hub / github.com/cocos/cocos-engine / networkThreadAlone

Method networkThreadAlone

native/cocos/network/HttpClient-java.cpp:766–788  ·  view source on GitHub ↗

Worker thread

Source from the content-addressed store, hash-verified

764
765// Worker thread
766void HttpClient::networkThreadAlone(HttpRequest *request, HttpResponse *response) {
767 increaseThreadCount();
768
769 char responseMessage[RESPONSE_BUFFER_SIZE] = {0};
770 processResponse(response, responseMessage);
771
772 _schedulerMutex.lock();
773 if (auto sche = _scheduler.lock()) {
774 sche->performFunctionInCocosThread([this, response, request] {
775 const ccHttpRequestCallback &callback = request->getResponseCallback();
776
777 if (callback != nullptr) {
778 callback(this, response);
779 }
780
781 response->release();
782 // do not release in other thread
783 request->release();
784 });
785 }
786 _schedulerMutex.unlock();
787 decreaseThreadCountAndMayDeleteThis();
788}
789
790// HttpClient implementation
791HttpClient *HttpClient::getInstance() {

Callers

nothing calls this directly

Calls 4

lockMethod · 0.80
callbackFunction · 0.50
releaseMethod · 0.45

Tested by

no test coverage detected