Bitcoin ABC 0.30.5
P2P Digital Currency
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CSeederNode Class Reference

#include <bitcoin.h>

Collaboration diagram for CSeederNode:
[legend]

Public Member Functions

 CSeederNode (const CService &ip, std::vector< CAddress > *vAddrIn)
 
bool Run ()
 
int GetBan ()
 
int GetClientVersion ()
 
std::string GetClientSubVersion ()
 
int GetStartingHeight ()
 
uint64_t GetServices ()
 
bool IsCheckpointVerified () const
 

Protected Member Functions

PeerMessagingState ProcessMessage (std::string strCommand, CDataStream &recv)
 

Private Member Functions

std::chrono::seconds GetTimeout ()
 
void BeginMessage (const char *pszCommand)
 
void AbortMessage ()
 
void EndMessage ()
 
void Send ()
 
void PushVersion ()
 
bool ProcessMessages ()
 

Private Attributes

std::unique_ptr< Socksock
 
CDataStream vSend
 
CDataStream vRecv
 
int nVersion {0}
 
std::string strSubVer
 
int nStartingHeight {0}
 
std::vector< CAddress > * vAddr
 
int ban {0}
 
NodeSeconds doneAfter {NodeSeconds{0s}}
 
CService you
 
ServiceFlags yourServices {ServiceFlags(NODE_NETWORK)}
 
bool checkpointVerified {false}
 
bool needAddrReply {false}
 

Friends

class ::CSeederNodeTest
 

Detailed Description

Definition at line 37 of file bitcoin.h.

Constructor & Destructor Documentation

◆ CSeederNode()

CSeederNode::CSeederNode ( const CService ip,
std::vector< CAddress > *  vAddrIn 
)

Definition at line 249 of file bitcoin.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ AbortMessage()

void CSeederNode::AbortMessage ( )
private

◆ BeginMessage()

void CSeederNode::BeginMessage ( const char *  pszCommand)
private

◆ EndMessage()

void CSeederNode::EndMessage ( )
private

◆ GetBan()

int CSeederNode::GetBan ( )
inline

Definition at line 78 of file bitcoin.h.

◆ GetClientSubVersion()

std::string CSeederNode::GetClientSubVersion ( )
inline

Definition at line 82 of file bitcoin.h.

◆ GetClientVersion()

int CSeederNode::GetClientVersion ( )
inline

Definition at line 80 of file bitcoin.h.

◆ GetServices()

uint64_t CSeederNode::GetServices ( )
inline

Definition at line 86 of file bitcoin.h.

◆ GetStartingHeight()

int CSeederNode::GetStartingHeight ( )
inline

Definition at line 84 of file bitcoin.h.

◆ GetTimeout()

std::chrono::seconds CSeederNode::GetTimeout ( )
inlineprivate

Definition at line 55 of file bitcoin.h.

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

◆ IsCheckpointVerified()

bool CSeederNode::IsCheckpointVerified ( ) const
inline

Definition at line 88 of file bitcoin.h.

◆ ProcessMessage()

PeerMessagingState CSeederNode::ProcessMessage ( std::string  strCommand,
CDataStream recv 
)
protected

Definition at line 41 of file bitcoin.cpp.

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

◆ ProcessMessages()

bool CSeederNode::ProcessMessages ( )
private

Definition at line 187 of file bitcoin.cpp.

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

◆ PushVersion()

void CSeederNode::PushVersion ( )
private

◆ Run()

bool CSeederNode::Run ( )

Definition at line 258 of file bitcoin.cpp.

Here is the call graph for this function:

◆ Send()

void CSeederNode::Send ( )
private

Definition at line 26 of file bitcoin.cpp.

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

Friends And Related Function Documentation

◆ ::CSeederNodeTest

friend class ::CSeederNodeTest
friend

Definition at line 38 of file bitcoin.h.

Member Data Documentation

◆ ban

int CSeederNode::ban {0}
private

Definition at line 48 of file bitcoin.h.

◆ checkpointVerified

bool CSeederNode::checkpointVerified {false}
private

Definition at line 52 of file bitcoin.h.

◆ doneAfter

NodeSeconds CSeederNode::doneAfter {NodeSeconds{0s}}
private

Definition at line 49 of file bitcoin.h.

◆ needAddrReply

bool CSeederNode::needAddrReply {false}
private

Definition at line 53 of file bitcoin.h.

◆ nStartingHeight

int CSeederNode::nStartingHeight {0}
private

Definition at line 46 of file bitcoin.h.

◆ nVersion

int CSeederNode::nVersion {0}
private

Definition at line 44 of file bitcoin.h.

◆ sock

std::unique_ptr<Sock> CSeederNode::sock
private

Definition at line 41 of file bitcoin.h.

◆ strSubVer

std::string CSeederNode::strSubVer
private

Definition at line 45 of file bitcoin.h.

◆ vAddr

std::vector<CAddress>* CSeederNode::vAddr
private

Definition at line 47 of file bitcoin.h.

◆ vRecv

CDataStream CSeederNode::vRecv
private

Definition at line 43 of file bitcoin.h.

◆ vSend

CDataStream CSeederNode::vSend
private

Definition at line 42 of file bitcoin.h.

◆ you

CService CSeederNode::you
private

Definition at line 50 of file bitcoin.h.

◆ yourServices

ServiceFlags CSeederNode::yourServices {ServiceFlags(NODE_NETWORK)}
private

Definition at line 51 of file bitcoin.h.


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