Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
dev::p2p::PingNode Struct Reference

Ping packet: Sent to check if node is alive. More...

#include <NodeTable.h>

Inheritance diagram for dev::p2p::PingNode:
[legend]
Collaboration diagram for dev::p2p::PingNode:
[legend]

Public Member Functions

 PingNode (NodeIPEndpoint const &_src, NodeIPEndpoint const &_dest)
 
 PingNode (bi::udp::endpoint const &_from, NodeID const &_fromid, h256 const &_echo)
 
uint8_t packetType () const
 
void streamRLP (RLPStream &_s) const
 
void interpretRLP (bytesConstRef _bytes)
 
- Public Member Functions inherited from dev::p2p::DiscoveryDatagram
 DiscoveryDatagram (bi::udp::endpoint const &_to)
 Constructor used for sending. More...
 
 DiscoveryDatagram (bi::udp::endpoint const &_from, NodeID const &_fromid, h256 const &_echo)
 Constructor used for parsing inbound packets. More...
 
bool isExpired () const
 
- Public Member Functions inherited from dev::p2p::RLPXDatagramFace
 RLPXDatagramFace (bi::udp::endpoint const &_ep)
 
virtual h256 sign (Secret const &_from)
 
- Public Member Functions inherited from dev::p2p::UDPDatagram
 UDPDatagram (bi::udp::endpoint const &_ep)
 
 UDPDatagram (bi::udp::endpoint const &_ep, bytes _data)
 
bi::udp::endpoint const & endpoint () const
 

Public Attributes

unsigned version = 0
 
NodeIPEndpoint source
 
NodeIPEndpoint destination
 
- Public Attributes inherited from dev::p2p::DiscoveryDatagram
NodeID sourceid
 
h256 echo
 
uint32_t ts = 0
 
- Public Attributes inherited from dev::p2p::UDPDatagram
bytes data
 

Static Public Attributes

static const uint8_t type = 1
 

Additional Inherited Members

- Static Public Member Functions inherited from dev::p2p::DiscoveryDatagram
static std::unique_ptr< DiscoveryDatagraminterpretUDP (bi::udp::endpoint const &_from, bytesConstRef _packet)
 Decodes UDP packets. More...
 
- Static Public Member Functions inherited from dev::p2p::RLPXDatagramFace
static uint32_t futureFromEpoch (std::chrono::seconds _sec)
 
static uint32_t secondsSinceEpoch ()
 
static Public authenticate (bytesConstRef _sig, bytesConstRef _rlp)
 
- Protected Attributes inherited from dev::p2p::UDPDatagram
bi::udp::endpoint locus
 

Detailed Description

Ping packet: Sent to check if node is alive.

PingNode is cached and regenerated after ts + t, where t is timeout.

Ping is used to implement evict. When a new node is seen for a given bucket which is full, the least-responsive node is pinged. If the pinged node doesn't respond, then it is removed and the new node is inserted.

Definition at line 309 of file NodeTable.h.

Constructor & Destructor Documentation

dev::p2p::PingNode::PingNode ( NodeIPEndpoint const &  _src,
NodeIPEndpoint const &  _dest 
)
inline

Definition at line 312 of file NodeTable.h.

dev::p2p::PingNode::PingNode ( bi::udp::endpoint const &  _from,
NodeID const &  _fromid,
h256 const &  _echo 
)
inline

Definition at line 313 of file NodeTable.h.

Member Function Documentation

void dev::p2p::PingNode::interpretRLP ( bytesConstRef  _bytes)
inlinevirtual

Implements dev::p2p::RLPXDatagramFace.

Definition at line 330 of file NodeTable.h.

Here is the call graph for this function:

uint8_t dev::p2p::PingNode::packetType ( ) const
inlinevirtual

Implements dev::p2p::RLPXDatagramFace.

Definition at line 316 of file NodeTable.h.

void dev::p2p::PingNode::streamRLP ( RLPStream _s) const
inlinevirtual

Implements dev::p2p::RLPXDatagramFace.

Definition at line 322 of file NodeTable.h.

Here is the call graph for this function:

Member Data Documentation

NodeIPEndpoint dev::p2p::PingNode::destination

Definition at line 320 of file NodeTable.h.

NodeIPEndpoint dev::p2p::PingNode::source

Definition at line 319 of file NodeTable.h.

const uint8_t dev::p2p::PingNode::type = 1
static

Definition at line 315 of file NodeTable.h.

unsigned dev::p2p::PingNode::version = 0

Definition at line 318 of file NodeTable.h.


The documentation for this struct was generated from the following file: