New JsonWriter for improved client performance (RIPD-439):

When JSON-RPC and Websocket responses are calculated, the result is stored
in intermediate Json::Value objects and later composed in a single linear
memory buffer before being sent to the socket.  These classes support a
new model for building responses that supports incremental construction
of JSON replies in constant time and removes the requirement that all
data returned be located in continuguous memory.
* New JsonWriter incrementally writes JSON with O(1) granularity and memory.
* Array, Object are RAII wrappers for the O(1) JsonWriter.
This commit is contained in:
Tom Ritchford
2014-10-01 18:16:36 -04:00
committed by Vinnie Falco
parent f5b39ee911
commit dbd75169e5
11 changed files with 1527 additions and 0 deletions

View File

@@ -32,6 +32,8 @@
#include <ripple/rpc/RPCHandler.h>
#include <ripple/rpc/impl/ErrorCodes.cpp>
#include <ripple/rpc/impl/JsonObject.cpp>
#include <ripple/rpc/impl/JsonWriter.cpp>
#include <ripple/rpc/impl/Manager.cpp>
#include <ripple/rpc/impl/RPCServerHandler.cpp>
#include <ripple/rpc/impl/RPCHandler.cpp>
@@ -107,3 +109,6 @@
#include <ripple/rpc/impl/LookupLedger.cpp>
#include <ripple/rpc/impl/ParseAccountIds.cpp>
#include <ripple/rpc/impl/TransactionSign.cpp>
#include <ripple/rpc/impl/JsonObject_test.cpp>
#include <ripple/rpc/impl/JsonWriter_test.cpp>