diff options
| author | Kamil Domanski <[email protected]> | 2014-08-20 22:44:38 +0200 |
|---|---|---|
| committer | Kamil Domanski <[email protected]> | 2014-08-31 02:16:17 +0200 |
| commit | 84881f8c472cc67dc757686eb7dc3b495b13cab8 (patch) | |
| tree | 9aa2ae012cc4817464cb60e9d838fa92464a9477 /src/netbase.h | |
| parent | remove fields of ser_streamplaceholder (diff) | |
| download | discoin-84881f8c472cc67dc757686eb7dc3b495b13cab8.tar.xz discoin-84881f8c472cc67dc757686eb7dc3b495b13cab8.zip | |
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 6f8c13250..b4ba71126 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); |