TARAXA
dev::p2p::FindNode Struct Reference

#include <NodeTable.h>

Collaboration diagram for dev::p2p::FindNode:

Public Member Functions

 FindNode (bi::udp::endpoint _to, h512 _target)
 
 FindNode (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
 
- 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

h512 target
 
- 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 = 3
 
- 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< 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

FindNode Packet: Request k-nodes, closest to the target. FindNode is cached and regenerated after timestamp + t, where t is timeout. FindNode implicitly results in finding neighbours of a given node.

RLP Encoded Items: 2 Minimum Encoded Size: 21 bytes Maximum Encoded Size: 30 bytes

target: NodeID of node. The responding node will send back nodes closest to the target.

Constructor & Destructor Documentation

◆ FindNode() [1/2]

dev::p2p::FindNode::FindNode ( bi::udp::endpoint  _to,
h512  _target 
)
inline

◆ FindNode() [2/2]

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

Member Function Documentation

◆ interpretRLP()

void dev::p2p::FindNode::interpretRLP ( bytesConstRef  _bytes)
inlineoverridevirtual

◆ packetType()

uint8_t dev::p2p::FindNode::packetType ( ) const
inlineoverridevirtual

◆ streamRLP()

void dev::p2p::FindNode::streamRLP ( RLPStream _s) const
inlineoverridevirtual

◆ typeName()

std::string dev::p2p::FindNode::typeName ( ) const
inlineoverridevirtual

Member Data Documentation

◆ target

h512 dev::p2p::FindNode::target

◆ type

constexpr uint8_t dev::p2p::FindNode::type = 3
staticconstexpr

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