mirror of
https://github.com/EvernodeXRPL/hpcore.git
synced 2026-04-29 15:37:59 +00:00
Ledger query infrastructure. (#275)
* Added json ledger query param parser. * Added initial query response creation. * Updated client lib. * Implemented get ledger by seq no. * Added ledger query execution wrappers. * Included log record info. * Fixed empty output hash issue. * Added bson support. * Added db file existance check. * Added requesy/reply tracking for queries in client lib. * Improved multi connection usage in client lib. * Added genesis ledger query support. * Updated naming convention of query result fields. * Comments. * Used sqlite bind() for query param. * Used binary hashes in ledger sqlite db. * Missing const.
This commit is contained in:
@@ -234,10 +234,24 @@ namespace usr
|
||||
}
|
||||
else if (msg_type == msg::usrmsg::MSGTYPE_STAT)
|
||||
{
|
||||
std::vector<uint8_t> msg;
|
||||
std::vector<uint8_t> resp;
|
||||
const p2p::sequence_hash lcl_id = ledger::ctx.get_lcl_id();
|
||||
parser.create_status_response(msg, lcl_id.seq_no, lcl_id.hash.to_string_view());
|
||||
user.session.send(msg);
|
||||
parser.create_status_response(resp, lcl_id.seq_no, lcl_id.hash.to_string_view());
|
||||
user.session.send(resp);
|
||||
return 0;
|
||||
}
|
||||
else if (msg_type == msg::usrmsg::MSGTYPE_LEDGER_QUERY)
|
||||
{
|
||||
ledger::query::query_request req;
|
||||
std::string id;
|
||||
if (parser.extract_ledger_query(req, id) == -1)
|
||||
return -1;
|
||||
|
||||
const ledger::query::query_result result = ledger::query::execute(user.pubkey, req);
|
||||
|
||||
std::vector<uint8_t> resp;
|
||||
parser.create_ledger_query_response(resp, id, result);
|
||||
user.session.send(resp);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user