Files
@ 83ba9855b521
Branch filter:
Location: libtransport.git/include/transport/HTTPRequestQueue.h - annotation
83ba9855b521
665 B
text/plain
Fix crash after HTTPRequestQueue destruction caused by HTTP response arriving after its destruction
5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 26a01b8efa0a 26a01b8efa0a 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 26a01b8efa0a 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 26a01b8efa0a 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 26a01b8efa0a 26a01b8efa0a 26a01b8efa0a 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 83ba9855b521 26a01b8efa0a 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 5adb3d1f9733 |
#pragma once
#include "curl/curl.h"
#include "transport/Logging.h"
#include "transport/ThreadPool.h"
#include <iostream>
#include <sstream>
#include <string.h>
#include "rapidjson/document.h"
#include "Swiften/Network/Timer.h"
namespace Transport {
class HTTPRequest;
class Component;
class HTTPRequestQueue {
public:
HTTPRequestQueue(Component *component, int delayBetweenRequests = 1);
virtual ~HTTPRequestQueue();
void queueRequest(HTTPRequest *req);
void sendNextRequest();
private:
void handleRequestFinished();
private:
int m_delay;
std::queue<HTTPRequest *> m_queue;
HTTPRequest *m_req;
Swift::Timer::ref m_queueTimer;
};
}
|