}
void JsonRpcConnection::SendMessage(const Dictionary::Ptr& message)
-{
- if (!m_Stream->IsEof())
- m_WriteQueue.Enqueue(boost::bind(&JsonRpcConnection::SendMessageSync, JsonRpcConnection::Ptr(this), message), true);
-}
-
-void JsonRpcConnection::SendMessageSync(const Dictionary::Ptr& message)
{
try {
ObjectLock olock(m_Stream);
m_Stream->Close();
- m_WriteQueue.Join();
-
if (m_Endpoint)
m_Endpoint->RemoveClient(this);
else {
StreamReadContext m_Context;
- WorkQueue m_WriteQueue;
-
bool ProcessMessage(void);
void DataAvailableHandler(void);
- void SendMessageSync(const Dictionary::Ptr& request);
static void StaticInitialize(void);
static void TimeoutTimerHandler(void);