aboutsummaryrefslogtreecommitdiff
path: root/src/protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocol.h')
-rw-r--r--src/protocol.h151
1 files changed, 76 insertions, 75 deletions
diff --git a/src/protocol.h b/src/protocol.h
index 82d29e66de..b73041a9fd 100644
--- a/src/protocol.h
+++ b/src/protocol.h
@@ -4,7 +4,7 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef __cplusplus
-# error This header can only be compiled as C++.
+#error This header can only be compiled as C++.
#endif
#ifndef __INCLUDED_PROTOCOL_H__
@@ -28,43 +28,43 @@
*/
class CMessageHeader
{
- public:
- CMessageHeader();
- CMessageHeader(const char* pszCommand, unsigned int nMessageSizeIn);
+public:
+ CMessageHeader();
+ CMessageHeader(const char* pszCommand, unsigned int nMessageSizeIn);
- std::string GetCommand() const;
- bool IsValid() const;
+ std::string GetCommand() const;
+ bool IsValid() const;
- ADD_SERIALIZE_METHODS;
+ ADD_SERIALIZE_METHODS;
- template <typename Stream, typename Operation>
- inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) {
- READWRITE(FLATDATA(pchMessageStart));
- READWRITE(FLATDATA(pchCommand));
- READWRITE(nMessageSize);
- READWRITE(nChecksum);
- }
+ template <typename Stream, typename Operation>
+ inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion)
+ {
+ READWRITE(FLATDATA(pchMessageStart));
+ READWRITE(FLATDATA(pchCommand));
+ READWRITE(nMessageSize);
+ READWRITE(nChecksum);
+ }
// TODO: make private (improves encapsulation)
- public:
- enum {
- COMMAND_SIZE=12,
- MESSAGE_SIZE_SIZE=sizeof(int),
- CHECKSUM_SIZE=sizeof(int),
-
- MESSAGE_SIZE_OFFSET=MESSAGE_START_SIZE+COMMAND_SIZE,
- CHECKSUM_OFFSET=MESSAGE_SIZE_OFFSET+MESSAGE_SIZE_SIZE,
- HEADER_SIZE=MESSAGE_START_SIZE+COMMAND_SIZE+MESSAGE_SIZE_SIZE+CHECKSUM_SIZE
- };
- char pchMessageStart[MESSAGE_START_SIZE];
- char pchCommand[COMMAND_SIZE];
- unsigned int nMessageSize;
- unsigned int nChecksum;
+public:
+ enum {
+ COMMAND_SIZE = 12,
+ MESSAGE_SIZE_SIZE = sizeof(int),
+ CHECKSUM_SIZE = sizeof(int),
+
+ MESSAGE_SIZE_OFFSET = MESSAGE_START_SIZE + COMMAND_SIZE,
+ CHECKSUM_OFFSET = MESSAGE_SIZE_OFFSET + MESSAGE_SIZE_SIZE,
+ HEADER_SIZE = MESSAGE_START_SIZE + COMMAND_SIZE + MESSAGE_SIZE_SIZE + CHECKSUM_SIZE
+ };
+ char pchMessageStart[MESSAGE_START_SIZE];
+ char pchCommand[COMMAND_SIZE];
+ unsigned int nMessageSize;
+ unsigned int nChecksum;
};
/** nServices flags */
-enum
-{
+enum {
NODE_NETWORK = (1 << 0),
// Bits 24-31 are reserved for temporary experiments. Just pick a bit that
@@ -79,68 +79,69 @@ enum
/** A CService with information about it as peer */
class CAddress : public CService
{
- public:
- CAddress();
- explicit CAddress(CService ipIn, uint64_t nServicesIn=NODE_NETWORK);
-
- void Init();
-
- ADD_SERIALIZE_METHODS;
-
- template <typename Stream, typename Operation>
- inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) {
- if (ser_action.ForRead())
- Init();
- if (nType & SER_DISK)
- READWRITE(nVersion);
- if ((nType & SER_DISK) ||
- (nVersion >= CADDR_TIME_VERSION && !(nType & SER_GETHASH)))
- READWRITE(nTime);
- READWRITE(nServices);
- READWRITE(*(CService*)this);
- }
+public:
+ CAddress();
+ explicit CAddress(CService ipIn, uint64_t nServicesIn = NODE_NETWORK);
+
+ void Init();
+
+ ADD_SERIALIZE_METHODS;
+
+ template <typename Stream, typename Operation>
+ inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion)
+ {
+ if (ser_action.ForRead())
+ Init();
+ if (nType & SER_DISK)
+ READWRITE(nVersion);
+ if ((nType & SER_DISK) ||
+ (nVersion >= CADDR_TIME_VERSION && !(nType & SER_GETHASH)))
+ READWRITE(nTime);
+ READWRITE(nServices);
+ READWRITE(*(CService*)this);
+ }
// TODO: make private (improves encapsulation)
- public:
- uint64_t nServices;
+public:
+ uint64_t nServices;
- // disk and network only
- unsigned int nTime;
+ // disk and network only
+ unsigned int nTime;
- // memory only
- int64_t nLastTry;
+ // memory only
+ int64_t nLastTry;
};
/** inv message data */
class CInv
{
- public:
- CInv();
- CInv(int typeIn, const uint256& hashIn);
- CInv(const std::string& strType, const uint256& hashIn);
+public:
+ CInv();
+ CInv(int typeIn, const uint256& hashIn);
+ CInv(const std::string& strType, const uint256& hashIn);
- ADD_SERIALIZE_METHODS;
+ ADD_SERIALIZE_METHODS;
- template <typename Stream, typename Operation>
- inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) {
- READWRITE(type);
- READWRITE(hash);
- }
+ template <typename Stream, typename Operation>
+ inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion)
+ {
+ READWRITE(type);
+ READWRITE(hash);
+ }
- friend bool operator<(const CInv& a, const CInv& b);
+ friend bool operator<(const CInv& a, const CInv& b);
- bool IsKnownType() const;
- const char* GetCommand() const;
- std::string ToString() const;
+ bool IsKnownType() const;
+ const char* GetCommand() const;
+ std::string ToString() const;
// TODO: make private (improves encapsulation)
- public:
- int type;
- uint256 hash;
+public:
+ int type;
+ uint256 hash;
};
-enum
-{
+enum {
MSG_TX = 1,
MSG_BLOCK,
// Nodes may always request a MSG_FILTERED_BLOCK in a getdata, however,