Improve websocket send performance (RIPD-1158)

This commit is contained in:
Miguel Portilla
2016-05-18 12:28:02 -04:00
committed by Nik Bougalis
parent 154e90b1ca
commit b14555c742

View File

@@ -288,15 +288,11 @@ ServerHandlerImp::onWSMessage(
{
auto const jr =
this->processSession(session, jc, jv);
beast::streambuf sb;
Json::stream(jr,
[&sb](auto const p, auto const n)
{
sb.commit(boost::asio::buffer_copy(
sb.prepare(n), boost::asio::buffer(p, n)));
});
JLOG(m_journal.trace())
<< "Websocket sending '" << jr << "'";
auto const s = to_string(jr);
auto const n = s.length();
beast::streambuf sb(n);
sb.commit(boost::asio::buffer_copy(
sb.prepare(n), boost::asio::buffer(s.c_str(), n)));
session->send(std::make_shared<
StreambufWSMsg<decltype(sb)>>(std::move(sb)));
session->complete();