Introduce JsonRpcConnection#SendMessageInternal()

This commit is contained in:
Alexander A. Klimov 2019-02-26 10:17:10 +01:00
parent e6d78bf361
commit 79e95d2355
3 changed files with 11 additions and 9 deletions

View File

@ -36,15 +36,13 @@ void JsonRpcConnection::HandleAndWriteHeartbeats(boost::asio::yield_context yc)
break;
}
m_OutgoingMessagesQueue.emplace_back(new Dictionary({
SendMessageInternal(new Dictionary({
{ "jsonrpc", "2.0" },
{ "method", "event::Heartbeat" },
{ "params", new Dictionary({
{ "timeout", 120 }
}) }
}));
m_OutgoingMessagesQueued.Set();
}
}

View File

@ -160,10 +160,13 @@ ConnectionRole JsonRpcConnection::GetRole() const
void JsonRpcConnection::SendMessage(const Dictionary::Ptr& message)
{
m_IoStrand.post([this, message]() {
m_IoStrand.post([this, message]() { SendMessageInternal(message); });
}
void JsonRpcConnection::SendMessageInternal(const Dictionary::Ptr& message)
{
m_OutgoingMessagesQueue.emplace_back(message);
m_OutgoingMessagesQueued.Set();
});
}
void JsonRpcConnection::Disconnect()
@ -277,8 +280,7 @@ void JsonRpcConnection::MessageHandler(const String& jsonString)
resultMessage->Set("jsonrpc", "2.0");
resultMessage->Set("id", message->Get("id"));
m_OutgoingMessagesQueue.emplace_back(resultMessage);
m_OutgoingMessagesQueued.Set();
SendMessageInternal(resultMessage);
}
}

View File

@ -86,6 +86,8 @@ private:
void MessageHandler(const String& jsonString);
void CertificateRequestResponseHandler(const Dictionary::Ptr& message);
void SendMessageInternal(const Dictionary::Ptr& request);
};
}