|
|
@ -257,7 +257,7 @@ struct CBlockReject { |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
struct CNodeState { |
|
|
|
struct CNodeState { |
|
|
|
//! The peer's address
|
|
|
|
//! The peer's address
|
|
|
|
CService address; |
|
|
|
const CService address; |
|
|
|
//! Whether we have a fully established connection.
|
|
|
|
//! Whether we have a fully established connection.
|
|
|
|
bool fCurrentlyConnected; |
|
|
|
bool fCurrentlyConnected; |
|
|
|
//! Accumulated misbehaviour score for this peer.
|
|
|
|
//! Accumulated misbehaviour score for this peer.
|
|
|
@ -265,7 +265,7 @@ struct CNodeState { |
|
|
|
//! Whether this peer should be disconnected and banned (unless whitelisted).
|
|
|
|
//! Whether this peer should be disconnected and banned (unless whitelisted).
|
|
|
|
bool fShouldBan; |
|
|
|
bool fShouldBan; |
|
|
|
//! String name of this peer (debugging/logging purposes).
|
|
|
|
//! String name of this peer (debugging/logging purposes).
|
|
|
|
std::string name; |
|
|
|
const std::string name; |
|
|
|
//! List of asynchronously-determined block rejections to notify this peer about.
|
|
|
|
//! List of asynchronously-determined block rejections to notify this peer about.
|
|
|
|
std::vector<CBlockReject> rejects; |
|
|
|
std::vector<CBlockReject> rejects; |
|
|
|
//! The best known block we know this peer has announced.
|
|
|
|
//! The best known block we know this peer has announced.
|
|
|
@ -309,7 +309,7 @@ struct CNodeState { |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
bool fSupportsDesiredCmpctVersion; |
|
|
|
bool fSupportsDesiredCmpctVersion; |
|
|
|
|
|
|
|
|
|
|
|
CNodeState() { |
|
|
|
CNodeState(CAddress addrIn, std::string addrNameIn) : address(addrIn), name(addrNameIn) { |
|
|
|
fCurrentlyConnected = false; |
|
|
|
fCurrentlyConnected = false; |
|
|
|
nMisbehavior = 0; |
|
|
|
nMisbehavior = 0; |
|
|
|
fShouldBan = false; |
|
|
|
fShouldBan = false; |
|
|
@ -355,10 +355,10 @@ void UpdatePreferredDownload(CNode* node, CNodeState* state) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void InitializeNode(NodeId nodeid, const CNode *pnode) { |
|
|
|
void InitializeNode(NodeId nodeid, const CNode *pnode) { |
|
|
|
|
|
|
|
CAddress addr = pnode->addr; |
|
|
|
|
|
|
|
std::string addrName = pnode->addrName; |
|
|
|
LOCK(cs_main); |
|
|
|
LOCK(cs_main); |
|
|
|
CNodeState &state = mapNodeState.insert(std::make_pair(nodeid, CNodeState())).first->second; |
|
|
|
mapNodeState.emplace_hint(mapNodeState.end(), std::piecewise_construct, std::forward_as_tuple(nodeid), std::forward_as_tuple(addr, std::move(addrName))); |
|
|
|
state.name = pnode->addrName; |
|
|
|
|
|
|
|
state.address = pnode->addr; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void FinalizeNode(NodeId nodeid, bool& fUpdateConnectionTime) { |
|
|
|
void FinalizeNode(NodeId nodeid, bool& fUpdateConnectionTime) { |
|
|
|