|
OpenTTD Source
14.0-beta3
|
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.