slap a bunch of shit everywhere until the crashing stops

This commit is contained in:
ouwou
2020-10-05 21:37:07 -04:00
parent cfcb0d4e66
commit 0cdaea97dd
8 changed files with 52 additions and 18 deletions

View File

@@ -5,14 +5,9 @@
#include <string>
#include <unordered_map>
#include <memory>
template<typename F>
void fire_and_forget(F &&func) {
auto ptr = std::make_shared<std::future<void>>();
*ptr = std::async(std::launch::async, [ptr, func]() {
func();
});
}
#include <mutex>
#include <queue>
#include <glibmm.h>
class HTTPClient {
public:
@@ -28,6 +23,11 @@ private:
void OnResponse(cpr::Response r, std::function<void(cpr::Response r)> cb);
void CleanupFutures();
mutable std::mutex m_mutex;
Glib::Dispatcher m_dispatcher;
std::queue<std::function<void()>> m_queue;
void RunCallbacks();
std::vector<std::future<void>> m_futures;
std::string m_api_base;
std::string m_authorization;