OpenTTD Source  20241108-master-g80f628063a
http_curl.cpp File Reference

CURL-based implementation for HTTP requests. More...

#include "../../stdafx.h"
#include "../../debug.h"
#include "../../fileio_func.h"
#include "../../rev.h"
#include "../../thread.h"
#include "../network_internal.h"
#include "http.h"
#include "http_shared.h"
#include <atomic>
#include <condition_variable>
#include <curl/curl.h>
#include <mutex>
#include <queue>
#include "../../safeguards.h"

Go to the source code of this file.

Data Structures

class  NetworkHTTPRequest
 Single HTTP request. More...
 

Functions

void HttpThread ()
 
void NetworkHTTPInitialize ()
 Initialize the HTTP socket handler.
 
void NetworkHTTPUninitialize ()
 Uninitialize the HTTP socket handler.
 

Variables

static std::vector< HTTPThreadSafeCallback * > _http_callbacks
 
static std::vector< HTTPThreadSafeCallback * > _new_http_callbacks
 
static std::mutex _http_callback_mutex
 
static std::mutex _new_http_callback_mutex
 
static std::thread _http_thread
 
static std::atomic< bool > _http_thread_exit = false
 
static std::queue< std::unique_ptr< NetworkHTTPRequest > > _http_requests
 
static std::mutex _http_mutex
 
static std::condition_variable _http_cv
 

Detailed Description

CURL-based implementation for HTTP requests.

Definition in file http_curl.cpp.