MCPcopy Create free account
hub / github.com/defold/defold / Dispatch

Function Dispatch

engine/script/src/http_service.cpp:394–436  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

392 }
393
394 void Dispatch(dmMessage::Message *message, void* user_ptr)
395 {
396 Worker* worker = (Worker*) user_ptr;
397 if (!worker->m_Run) {
398 return;
399 }
400
401 if (message->m_Descriptor)
402 {
403 dmDDF::Descriptor* descriptor = (dmDDF::Descriptor*)message->m_Descriptor;
404
405 if (message->m_Descriptor == (uintptr_t) dmHttpDDF::HttpRequest::m_DDFDescriptor)
406 {
407 dmHttpDDF::HttpRequest* request = (dmHttpDDF::HttpRequest*) &message->m_Data[0];
408 HandleRequest(worker, &message->m_Sender, 0, message->m_UserData2, request);
409 free((void*) request->m_Headers);
410 free((void*) request->m_Request);
411 }
412 else if (message->m_Descriptor == (uintptr_t) dmHttpDDF::StopHttp::m_DDFDescriptor)
413 {
414 worker->m_Run = false;
415 }
416 else
417 {
418 const dmMessage::URL* sender = &message->m_Sender;
419 const char* socket_name = dmMessage::GetSocketName(sender->m_Socket);
420 const char* path_name = dmHashReverseSafe64(sender->m_Path);
421 const char* fragment_name = dmHashReverseSafe64(sender->m_Fragment);
422 dmLogError("Unknown message '%s' sent to socket '%s' from %s:%s#%s.",
423 descriptor->m_Name, HTTP_SOCKET_NAME, socket_name, path_name, fragment_name);
424 }
425 }
426 else
427 {
428 const dmMessage::URL* sender = &message->m_Sender;
429 const char* socket_name = dmMessage::GetSocketName(sender->m_Socket);
430 const char* path_name = dmHashReverseSafe64(sender->m_Path);
431 const char* fragment_name = dmHashReverseSafe64(sender->m_Fragment);
432
433 dmLogError("Only http messages can be sent to the '%s' socket. Message sent from: %s:%s#%s",
434 HTTP_SOCKET_NAME, socket_name, path_name, fragment_name);
435 }
436 }
437
438 void LoadBalance(dmMessage::Message *message, void* user_ptr)
439 {

Callers 1

TEST_FFunction · 0.50

Calls 4

freeFunction · 0.85
GetSocketNameFunction · 0.85
dmHashReverseSafe64Function · 0.85
HandleRequestFunction · 0.70

Tested by 1

TEST_FFunction · 0.40