From b117ecc6a2dae2ab3a908b3b5a718a4ca8908d3a Mon Sep 17 00:00:00 2001 From: Bart <11445373+bthomee@users.noreply.github.com> Date: Mon, 2 Mar 2026 11:58:57 -0500 Subject: [PATCH] Use std::string_view --- include/xrpl/basics/Slice.h | 7 +++++++ src/xrpld/app/ledger/InboundLedger.h | 7 ++++--- src/xrpld/app/ledger/detail/InboundLedger.cpp | 6 +++--- src/xrpld/app/ledger/detail/LedgerNodeHelpers.cpp | 2 +- src/xrpld/app/ledger/detail/LedgerNodeHelpers.h | 4 ++-- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/include/xrpl/basics/Slice.h b/include/xrpl/basics/Slice.h index 6aa5446236..df6a70e71c 100644 --- a/include/xrpl/basics/Slice.h +++ b/include/xrpl/basics/Slice.h @@ -231,4 +231,11 @@ makeSlice(std::basic_string const& s) return Slice(s.data(), s.size()); } +template +Slice +makeSlice(std::basic_string_view const& s) +{ + return Slice(s.data(), s.size()); +} + } // namespace xrpl diff --git a/src/xrpld/app/ledger/InboundLedger.h b/src/xrpld/app/ledger/InboundLedger.h index 628c9c539b..64e6488c34 100644 --- a/src/xrpld/app/ledger/InboundLedger.h +++ b/src/xrpld/app/ledger/InboundLedger.h @@ -9,6 +9,7 @@ #include #include +#include #include namespace xrpl { @@ -131,16 +132,16 @@ private: processData(std::shared_ptr peer, protocol::TMLedgerData& data); bool - takeHeader(std::string const& data); + takeHeader(std::string_view data); void receiveNode(protocol::TMLedgerData& packet, SHAMapAddNode& san); bool - takeTxRootNode(std::string const& data, SHAMapAddNode& san); + takeTxRootNode(std::string_view data, SHAMapAddNode& san); bool - takeAsRootNode(std::string const& data, SHAMapAddNode& san); + takeAsRootNode(std::string_view data, SHAMapAddNode& san); std::vector neededTxHashes(int max, SHAMapSyncFilter* filter) const; diff --git a/src/xrpld/app/ledger/detail/InboundLedger.cpp b/src/xrpld/app/ledger/detail/InboundLedger.cpp index acc58c47ae..cffd3cd7ea 100644 --- a/src/xrpld/app/ledger/detail/InboundLedger.cpp +++ b/src/xrpld/app/ledger/detail/InboundLedger.cpp @@ -755,7 +755,7 @@ InboundLedger::filterNodes( */ // data must not have hash prefix bool -InboundLedger::takeHeader(std::string const& data) +InboundLedger::takeHeader(std::string_view data) { // Return value: true=normal, false=bad data JLOG(journal_.trace()) << "got header acquiring ledger " << hash_; @@ -903,7 +903,7 @@ InboundLedger::receiveNode(protocol::TMLedgerData& packet, SHAMapAddNode& san) Call with a lock */ bool -InboundLedger::takeAsRootNode(std::string const& data, SHAMapAddNode& san) +InboundLedger::takeAsRootNode(std::string_view data, SHAMapAddNode& san) { if (failed_ || mHaveState) { @@ -937,7 +937,7 @@ InboundLedger::takeAsRootNode(std::string const& data, SHAMapAddNode& san) Call with a lock */ bool -InboundLedger::takeTxRootNode(std::string const& data, SHAMapAddNode& san) +InboundLedger::takeTxRootNode(std::string_view data, SHAMapAddNode& san) { if (failed_ || mHaveTransactions) { diff --git a/src/xrpld/app/ledger/detail/LedgerNodeHelpers.cpp b/src/xrpld/app/ledger/detail/LedgerNodeHelpers.cpp index 394f8dadd2..13d6e9204b 100644 --- a/src/xrpld/app/ledger/detail/LedgerNodeHelpers.cpp +++ b/src/xrpld/app/ledger/detail/LedgerNodeHelpers.cpp @@ -28,7 +28,7 @@ validateLedgerNode(protocol::TMLedgerNode const& ledger_node) } std::optional> -getTreeNode(std::string const& data) +getTreeNode(std::string_view data) { auto const slice = makeSlice(data); try diff --git a/src/xrpld/app/ledger/detail/LedgerNodeHelpers.h b/src/xrpld/app/ledger/detail/LedgerNodeHelpers.h index 09bee55bc5..5bf5763ed1 100644 --- a/src/xrpld/app/ledger/detail/LedgerNodeHelpers.h +++ b/src/xrpld/app/ledger/detail/LedgerNodeHelpers.h @@ -5,7 +5,7 @@ #include #include -#include +#include namespace protocol { class TMLedgerNode; @@ -42,7 +42,7 @@ validateLedgerNode(protocol::TMLedgerNode const& ledger_node); * deserialization fails. */ [[nodiscard]] std::optional> -getTreeNode(std::string const& data); +getTreeNode(std::string_view data); /** * @brief Extracts or reconstructs the SHAMapNodeID from a ledger node proto message.