void rarch_main_data_http_iterate(bool is_thread, void *data) { data_runloop_t *runloop = (data_runloop_t*)data; http_handle_t *http = runloop ? &runloop->http : NULL; if (!http) return; switch (http->status) { case HTTP_STATUS_CONNECTION_TRANSFER_PARSE: rarch_main_data_http_conn_iterate_transfer_parse(http); http->status = HTTP_STATUS_TRANSFER; break; case HTTP_STATUS_CONNECTION_TRANSFER: if (!rarch_main_data_http_con_iterate_transfer(http)) http->status = HTTP_STATUS_CONNECTION_TRANSFER_PARSE; break; case HTTP_STATUS_TRANSFER_PARSE: rarch_main_data_http_iterate_transfer_parse(http); http->status = HTTP_STATUS_POLL; break; case HTTP_STATUS_TRANSFER: if (!rarch_main_data_http_iterate_transfer(http)) http->status = HTTP_STATUS_TRANSFER_PARSE; break; case HTTP_STATUS_POLL: default: if (rarch_main_data_http_iterate_poll(http) == 0) http->status = HTTP_STATUS_CONNECTION_TRANSFER; break; } }
void rarch_main_data_http_iterate(bool is_thread) { http_handle_t *http = (http_handle_t*)http_ptr; if (!http) return; switch (http->status) { case HTTP_STATUS_CONNECTION_TRANSFER_PARSE: rarch_main_data_http_conn_iterate_transfer_parse(http); http->status = HTTP_STATUS_TRANSFER; break; case HTTP_STATUS_CONNECTION_TRANSFER: if (!rarch_main_data_http_con_iterate_transfer(http)) http->status = HTTP_STATUS_CONNECTION_TRANSFER_PARSE; break; case HTTP_STATUS_TRANSFER_PARSE: rarch_main_data_http_iterate_transfer_parse(http); http->status = HTTP_STATUS_POLL; break; case HTTP_STATUS_TRANSFER: if (!rarch_main_data_http_iterate_transfer(http)) http->status = HTTP_STATUS_TRANSFER_PARSE; break; case HTTP_STATUS_POLL: default: if (rarch_main_data_http_iterate_poll(http) == 0) http->status = HTTP_STATUS_CONNECTION_TRANSFER; break; } }
static void rarch_main_data_http_iterate(http_handle_t *http) { if (!http) return; if (http->connection.handle) { if (!rarch_main_data_http_con_iterate_transfer(http)) rarch_main_data_http_conn_iterate_transfer_parse(http); } if (http->handle) { if (!rarch_main_data_http_iterate_transfer(http)) rarch_main_data_http_iterate_transfer_parse(http); } else rarch_main_data_http_iterate_poll(http); }