OpenTTD Source
20241108-master-g80f628063a
|
Converts a HTTPCallback to a Thread-Safe variant. More...
#include <http_shared.h>
Data Structures | |
class | Callback |
Entries on the queue for later handling. More... | |
Public Member Functions | |
void | OnFailure () |
Similar to HTTPCallback::OnFailure, but thread-safe. | |
void | OnReceiveData (std::unique_ptr< char[]> data, size_t length) |
Similar to HTTPCallback::OnReceiveData, but thread-safe. | |
void | HandleQueue () |
Process everything on the queue. More... | |
template<typename T > | |
void | WaitTillEmptyOrCondition (T condition) |
Wait till the queue is dequeued, or a condition is met. More... | |
bool | IsQueueEmpty () |
Check if the queue is empty. | |
HTTPThreadSafeCallback (HTTPCallback *callback) | |
Data Fields | |
std::atomic< bool > | cancelled = false |
Private Attributes | |
HTTPCallback * | callback |
The callback to send data back on. | |
std::mutex | mutex |
Mutex to protect the queue. | |
std::vector< Callback > | queue |
Queue of data to send back. | |
std::condition_variable | queue_cv |
Condition variable to wait for the queue to be empty. | |
Converts a HTTPCallback to a Thread-Safe variant.
Definition at line 22 of file http_shared.h.
|
inline |
Process everything on the queue.
Should be called from the Game Thread.
Definition at line 59 of file http_shared.h.
References callback, HTTPCallback::IsCancelled(), lock, mutex, HTTPCallback::OnFailure(), HTTPCallback::OnReceiveData(), queue, and queue_cv.
|
inline |
Wait till the queue is dequeued, or a condition is met.
condition | Condition functor. |
Definition at line 82 of file http_shared.h.