git-svn-id: svn://elaine/murooma/trunk@258 d8a302eb-03bc-478d-80e4-98257eca68ef
This commit is contained in:
(no author) 2014-09-14 16:40:19 +00:00
parent 6d6272d23a
commit a16aa82deb
4 changed files with 50 additions and 28 deletions

View file

@ -5,6 +5,7 @@
#include <thread>
#include <atomic>
#include <mutex>
#include <memory>
#include <boost/asio.hpp>
#include <condition_variable>
#include <set>
@ -19,10 +20,18 @@ class SocketConnection;
struct PendingRequest
{
PendingRequest(uint16_t reqId) : id(reqId), response(NULL) {};
PendingRequest(uint16_t reqId) : id(reqId), response(NULL), buffer(NULL) {};
~PendingRequest()
{
if (response != NULL);
delete response;
if (buffer != NULL)
free(buffer);
}
uint16_t id;
BaseMessage* response;
char* buffer;
std::condition_variable cv;
};
@ -42,7 +51,7 @@ public:
virtual void start();
virtual void stop();
virtual bool send(BaseMessage* _message);
virtual BaseMessage* sendRequest(BaseMessage* message, size_t timeout);
virtual std::shared_ptr<PendingRequest> sendRequest(BaseMessage* message, size_t timeout);
virtual bool active()
{