From b14555c74266ecfe2df91f058170241e299acec9 Mon Sep 17 00:00:00 2001 From: Miguel Portilla Date: Wed, 18 May 2016 12:28:02 -0400 Subject: [PATCH] Improve websocket send performance (RIPD-1158) --- src/ripple/server/impl/ServerHandlerImp.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/ripple/server/impl/ServerHandlerImp.cpp b/src/ripple/server/impl/ServerHandlerImp.cpp index 366824db0f..3103551115 100644 --- a/src/ripple/server/impl/ServerHandlerImp.cpp +++ b/src/ripple/server/impl/ServerHandlerImp.cpp @@ -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>(std::move(sb))); session->complete();