Add a 'returnMessage' function to return a received message.

This commit is contained in:
JoelKatz
2013-08-29 18:03:45 -07:00
parent eb33ae0d71
commit 835236a35c

View File

@@ -242,7 +242,7 @@ public:
else
{
msgRejected = false;
mRcvQueue.push (msg);
mRcvQueue.push_back (msg);
if (mRcvQueueRunning)
runQueue = false;
@@ -265,10 +265,18 @@ public:
}
message_ptr m = mRcvQueue.front ();
mRcvQueue.pop ();
mRcvQueue.pop_front ();
return m;
}
void returnMessage (message_ptr ptr)
{
ScopedLockType sl (mRcvQueueLock, __FILE__, __LINE__);
if (!mDead)
mRcvQueue.push_front(ptr);
}
private:
typedef void (WSConnection::*doFuncPtr) (Json::Value& jvResult, Json::Value& jvRequest);
@@ -283,7 +291,7 @@ private:
boost::asio::deadline_timer mPingTimer;
bool mPinged;
std::queue<message_ptr> mRcvQueue;
std::deque<message_ptr> mRcvQueue;
bool mRcvQueueRunning;
bool mDead;
};