Bitcoin ABC 0.33.5
P2P Digital Currency
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
CMessageHeader Class Reference

Message header. More...

#include <protocol.h>

Public Types

typedef std::array< uint8_t, MESSAGE_START_SIZEMessageMagic
 

Public Member Functions

 CMessageHeader ()
 
 CMessageHeader (const MessageMagic &pchMessageStartIn, const char *msg_type, unsigned int nMessageSizeIn)
 Construct a P2P message header from message-start characters, a message type and the size of the message. More...
 
std::string GetMessageType () const
 
bool IsMessageTypeValid () const
 
bool IsOversized (const Config &config) const
 
 SERIALIZE_METHODS (CMessageHeader, obj)
 

Public Attributes

MessageMagic pchMessageStart
 
std::array< char, MESSAGE_TYPE_SIZEm_msg_type
 
uint32_t nMessageSize
 
uint8_t pchChecksum [CHECKSUM_SIZE]
 

Static Public Attributes

static constexpr size_t MESSAGE_START_SIZE = 4
 
static constexpr size_t MESSAGE_TYPE_SIZE = 12
 
static constexpr size_t MESSAGE_SIZE_SIZE = 4
 
static constexpr size_t CHECKSUM_SIZE = 4
 
static constexpr size_t MESSAGE_SIZE_OFFSET
 
static constexpr size_t CHECKSUM_OFFSET
 
static constexpr size_t HEADER_SIZE
 

Detailed Description

Message header.

(4) message start. (12) message type. (4) size. (4) checksum.

Definition at line 34 of file protocol.h.

Member Typedef Documentation

◆ MessageMagic

typedef std::array<uint8_t, MESSAGE_START_SIZE> CMessageHeader::MessageMagic

Definition at line 47 of file protocol.h.

Constructor & Destructor Documentation

◆ CMessageHeader() [1/2]

CMessageHeader::CMessageHeader ( )
explicit

Definition at line 91 of file protocol.cpp.

◆ CMessageHeader() [2/2]

CMessageHeader::CMessageHeader ( const MessageMagic pchMessageStartIn,
const char *  msg_type,
unsigned int  nMessageSizeIn 
)

Construct a P2P message header from message-start characters, a message type and the size of the message.

Note
Passing in a msg_type longer than MESSAGE_TYPE_SIZE will result in a run-time assertion error.

Definition at line 98 of file protocol.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ GetMessageType()

std::string CMessageHeader::GetMessageType ( ) const

Definition at line 119 of file protocol.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsMessageTypeValid()

bool CMessageHeader::IsMessageTypeValid ( ) const

Definition at line 125 of file protocol.cpp.

Here is the caller graph for this function:

◆ IsOversized()

bool CMessageHeader::IsOversized ( const Config config) const

Definition at line 144 of file protocol.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SERIALIZE_METHODS()

CMessageHeader::SERIALIZE_METHODS ( CMessageHeader  ,
obj   
)
inline

Definition at line 64 of file protocol.h.

Member Data Documentation

◆ CHECKSUM_OFFSET

constexpr size_t CMessageHeader::CHECKSUM_OFFSET
staticconstexpr
Initial value:
=
static constexpr size_t MESSAGE_SIZE_OFFSET
Definition: protocol.h:40
static constexpr size_t MESSAGE_SIZE_SIZE
Definition: protocol.h:38

Definition at line 42 of file protocol.h.

◆ CHECKSUM_SIZE

constexpr size_t CMessageHeader::CHECKSUM_SIZE = 4
staticconstexpr

Definition at line 39 of file protocol.h.

◆ HEADER_SIZE

constexpr size_t CMessageHeader::HEADER_SIZE
staticconstexpr
Initial value:
static constexpr size_t MESSAGE_TYPE_SIZE
Definition: protocol.h:37
static constexpr size_t CHECKSUM_SIZE
Definition: protocol.h:39
static constexpr size_t MESSAGE_START_SIZE
Definition: protocol.h:36

Definition at line 44 of file protocol.h.

◆ m_msg_type

std::array<char, MESSAGE_TYPE_SIZE> CMessageHeader::m_msg_type

Definition at line 70 of file protocol.h.

◆ MESSAGE_SIZE_OFFSET

constexpr size_t CMessageHeader::MESSAGE_SIZE_OFFSET
staticconstexpr
Initial value:

Definition at line 40 of file protocol.h.

◆ MESSAGE_SIZE_SIZE

constexpr size_t CMessageHeader::MESSAGE_SIZE_SIZE = 4
staticconstexpr

Definition at line 38 of file protocol.h.

◆ MESSAGE_START_SIZE

constexpr size_t CMessageHeader::MESSAGE_START_SIZE = 4
staticconstexpr

Definition at line 36 of file protocol.h.

◆ MESSAGE_TYPE_SIZE

constexpr size_t CMessageHeader::MESSAGE_TYPE_SIZE = 12
staticconstexpr

Definition at line 37 of file protocol.h.

◆ nMessageSize

uint32_t CMessageHeader::nMessageSize

Definition at line 71 of file protocol.h.

◆ pchChecksum

uint8_t CMessageHeader::pchChecksum[CHECKSUM_SIZE]

Definition at line 72 of file protocol.h.

◆ pchMessageStart

MessageMagic CMessageHeader::pchMessageStart

Definition at line 69 of file protocol.h.


The documentation for this class was generated from the following files: