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

Method networkThreadAlone

native/cocos/network/HttpClient.cpp:136–158  ·  view source on GitHub ↗

Worker thread

Source from the content-addressed store, hash-verified

134
135// Worker thread
136void HttpClient::networkThreadAlone(HttpRequest *request, HttpResponse *response) {
137 increaseThreadCount();
138
139 char responseMessage[RESPONSE_BUFFER_SIZE] = {0};
140 processResponse(response, responseMessage);
141
142 _schedulerMutex.lock();
143 if (auto sche = _scheduler.lock()) {
144 sche->performFunctionInCocosThread([this, response, request] {
145 const ccHttpRequestCallback &callback = request->getResponseCallback();
146
147 if (callback != nullptr) {
148 callback(this, response);
149 }
150 response->release();
151 // do not release in other thread
152 request->release();
153 });
154 }
155 _schedulerMutex.unlock();
156
157 decreaseThreadCountAndMayDeleteThis();
158}
159
160//Configure curl's timeout property
161static bool configureCURL(HttpClient *client, HttpRequest *request, CURL *handle, char *errorBuffer) {

Callers

nothing calls this directly

Calls 4

lockMethod · 0.80
callbackFunction · 0.50
releaseMethod · 0.45

Tested by

no test coverage detected