diff options
author | Kamil Domanski <kdomanski@kdemail.net> | 2014-08-20 22:44:38 +0200 |
---|---|---|
committer | Kamil Domanski <kdomanski@kdemail.net> | 2014-08-31 02:16:17 +0200 |
commit | 84881f8c472cc67dc757686eb7dc3b495b13cab8 (patch) | |
tree | 9aa2ae012cc4817464cb60e9d838fa92464a9477 /src/netbase.h | |
parent | 5d96b4ae0188fcad36105642c5d69249d37fdbb5 (diff) |
rework overhauled serialization methods to non-static
Thanks to Pieter Wuille for most of the work on this commit.
I did not fixup the overhaul commit, because a rebase conflicted
with "remove fields of ser_streamplaceholder".
I prefer not to risk making a mistake while resolving it.
Diffstat (limited to 'src/netbase.h')
-rw-r--r-- | src/netbase.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/netbase.h b/src/netbase.h index 6f8c132502..b4ba711261 100644 --- a/src/netbase.h +++ b/src/netbase.h @@ -88,12 +88,12 @@ class CNetAddr friend bool operator!=(const CNetAddr& a, const CNetAddr& b); friend bool operator<(const CNetAddr& a, const CNetAddr& b); - IMPLEMENT_SERIALIZE + IMPLEMENT_SERIALIZE; - template <typename T, typename Stream, typename Operation> - inline static size_t SerializationOp(T thisPtr, Stream& s, Operation ser_action, int nType, int nVersion) { + template <typename Stream, typename Operation> + inline size_t SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { size_t nSerSize = 0; - READWRITE(FLATDATA(thisPtr->ip)); + READWRITE(FLATDATA(ip)); return nSerSize; } }; @@ -152,15 +152,15 @@ class CService : public CNetAddr CService(const struct in6_addr& ipv6Addr, unsigned short port); CService(const struct sockaddr_in6& addr); - IMPLEMENT_SERIALIZE + IMPLEMENT_SERIALIZE; - template <typename T, typename Stream, typename Operation> - inline static size_t SerializationOp(T thisPtr, Stream& s, Operation ser_action, int nType, int nVersion) { + template <typename Stream, typename Operation> + inline size_t SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { bool fRead = boost::is_same<Operation, CSerActionUnserialize>(); size_t nSerSize = 0; - CService* pthis = const_cast<CService*>(thisPtr); - READWRITE(FLATDATA(thisPtr->ip)); - unsigned short portN = htons(thisPtr->port); + CService* pthis = const_cast<CService*>(this); + READWRITE(FLATDATA(ip)); + unsigned short portN = htons(port); READWRITE(portN); if (fRead) pthis->port = ntohs(portN); |