TARAXA
|
#include <NodeTable.h>
Public Member Functions | |
PingNode (NodeIPEndpoint const &_src, NodeIPEndpoint const &_dest, unsigned _chain_id) | |
PingNode (bi::udp::endpoint const &_from, NodeID const &_fromid, h256 const &_echo) | |
uint8_t | packetType () const override |
void | streamRLP (RLPStream &_s) const override |
void | interpretRLP (bytesConstRef _bytes) override |
std::string | typeName () const override |
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... | |
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 | ~RLPXDatagramFace ()=default |
virtual h256 | sign (Secret const &_from) |
Public Member Functions inherited from dev::p2p::UDPDatagram | |
UDPDatagram (bi::udp::endpoint _ep) | |
UDPDatagram (bi::udp::endpoint _ep, bytes _data) | |
bi::udp::endpoint const & | endpoint () const |
Public Attributes | |
unsigned | version = 0 |
unsigned | chain_id = 0 |
NodeIPEndpoint | source |
NodeIPEndpoint | destination |
std::optional< uint64_t > | seq |
Public Attributes inherited from dev::p2p::DiscoveryDatagram | |
NodeID | sourceid |
h256 | echo |
boost::optional< uint32_t > | expiration |
Public Attributes inherited from dev::p2p::UDPDatagram | |
bytes | data |
Static Public Attributes | |
static constexpr uint8_t | type = 1 |
Static Public Attributes inherited from dev::p2p::DiscoveryDatagram | |
static constexpr std::chrono::seconds | c_timeToLiveS {60} |
Additional Inherited Members | |
Static Public Member Functions inherited from dev::p2p::DiscoveryDatagram | |
static std::unique_ptr< DiscoveryDatagram > | interpretUDP (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 |
Ping packet: Sent to check if node is alive. PingNode is cached and regenerated after timestamp + 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.
|
inline |
|
inline |
|
inline |
Constructor used for parsing inbound packets.
|
inline |
Constructor used for sending.
|
inlineoverridevirtual |
Implements dev::p2p::RLPXDatagramFace.
|
inlineoverridevirtual |
Implements dev::p2p::RLPXDatagramFace.
|
inlineoverridevirtual |
Implements dev::p2p::RLPXDatagramFace.
|
inlineoverridevirtual |
Implements dev::p2p::RLPXDatagramFace.
unsigned dev::p2p::PingNode::chain_id = 0 |
NodeIPEndpoint dev::p2p::PingNode::destination |
std::optional<uint64_t> dev::p2p::PingNode::seq |
NodeIPEndpoint dev::p2p::PingNode::source |
|
staticconstexpr |
unsigned dev::p2p::PingNode::version = 0 |