From 893628be0166b4096b6e52f516e0f65bb63a75a2 Mon Sep 17 00:00:00 2001 From: Ben Woosley Date: Thu, 14 Jun 2018 19:48:30 -0500 Subject: [PATCH] Drop minor GetSerializeSize template Now that `GetType()` is not propagated, the benefits are not worth the code. --- src/script/sign.h | 2 +- src/serialize.h | 12 +++--------- src/validation.cpp | 4 ++-- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/script/sign.h b/src/script/sign.h index 18b732099..2fc4575e5 100644 --- a/src/script/sign.h +++ b/src/script/sign.h @@ -147,7 +147,7 @@ static constexpr uint8_t PSBT_SEPARATOR = 0x00; template void SerializeToVector(Stream& s, const X&... args) { - WriteCompactSize(s, GetSerializeSizeMany(s, args...)); + WriteCompactSize(s, GetSerializeSizeMany(s.GetVersion(), args...)); SerializeMany(s, args...); } diff --git a/src/serialize.h b/src/serialize.h index ae8e11a43..2d0cfbbbf 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -983,16 +983,10 @@ size_t GetSerializeSize(const T& t, int nVersion = 0) return (CSizeComputer(nVersion) << t).size(); } -template -size_t GetSerializeSize(const S& s, const T& t) +template +size_t GetSerializeSizeMany(int nVersion, const T&... t) { - return (CSizeComputer(s.GetVersion()) << t).size(); -} - -template -size_t GetSerializeSizeMany(const S& s, const T&... t) -{ - CSizeComputer sc(s.GetType(), s.GetVersion()); + CSizeComputer sc(nVersion); SerializeMany(sc, t...); return sc.size(); } diff --git a/src/validation.cpp b/src/validation.cpp index 088dbf30f..a1d0b3d04 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -1060,7 +1060,7 @@ static bool WriteBlockToDisk(const CBlock& block, CDiskBlockPos& pos, const CMes return error("WriteBlockToDisk: OpenBlockFile failed"); // Write index header - unsigned int nSize = GetSerializeSize(fileout, block); + unsigned int nSize = GetSerializeSize(block, fileout.GetVersion()); fileout << messageStart << nSize; // Write block @@ -1470,7 +1470,7 @@ bool UndoWriteToDisk(const CBlockUndo& blockundo, CDiskBlockPos& pos, const uint return error("%s: OpenUndoFile failed", __func__); // Write index header - unsigned int nSize = GetSerializeSize(fileout, blockundo); + unsigned int nSize = GetSerializeSize(blockundo, fileout.GetVersion()); fileout << messageStart << nSize; // Write undo data