SOLA
|
Public Member Functions | |
MinhtonJoinAlgorithmForTest (std::shared_ptr< AccessContainer > access) | |
uint32_t | performSendUpdateNeighborMessagesAboutEnteringNode (minhton::NodeInfo entering_node) override |
Public Member Functions inherited from minhton::MinhtonJoinAlgorithm | |
MinhtonJoinAlgorithm (std::shared_ptr< AccessContainer > access) | |
void | processJoin (const MessageJoin &msg) override |
Public Member Functions inherited from minhton::JoinAlgorithmGeneral | |
JoinAlgorithmGeneral (std::shared_ptr< AccessContainer > access) | |
void | process (const MessageVariant &msg) override |
void | initiateJoin (NodeInfo &node_info) override |
void | initiateJoin (const PhysicalNodeInfo &p_node_info) override |
Public Member Functions inherited from minhton::JoinAlgorithmInterface | |
JoinAlgorithmInterface (std::shared_ptr< AccessContainer > access) | |
Public Member Functions inherited from minhton::AlgorithmInterface | |
AlgorithmInterface (std::shared_ptr< AccessContainer > access) | |
Additional Inherited Members | |
Static Public Member Functions inherited from minhton::JoinAlgorithmInterface | |
static std::vector< MessageType > | getSupportedMessageTypes () |
Protected Member Functions inherited from minhton::JoinAlgorithmGeneral | |
void | processJoinAccept (const MessageJoinAccept &msg) |
void | processJoinAcceptAck (const MessageJoinAcceptAck &msg) |
void | performAcceptChild (minhton::NodeInfo entering_node, bool use_complete_balancing=false) |
void | continueAcceptChildProcedure (const minhton::MessageInformAboutNeighbors &message) noexcept(false) override |
void | performSendJoinAccept (const minhton::NodeInfo &entering_node, const minhton::NodeInfo &entering_node_adj_left, const minhton::NodeInfo &entering_node_adj_right) |
std::vector< minhton::NodeInfo > | getRoutingTableNeighborsForNewChild (const minhton::NodeInfo &new_child) const |
minhton::NodeInfo | calcNewChildPosition (bool use_complete_balancing=false) const |
minhton::NodeInfo | calcAdjacentLeftOfNewChild (const minhton::NodeInfo &entering_node) const |
minhton::NodeInfo | calcAdjacentRightOfNewChild (const minhton::NodeInfo &entering_node) const |
minhton::NodeInfo | calcOurNewAdjacentLeft (const minhton::NodeInfo &entering_node, const minhton::NodeInfo &entering_node_adj_right) const |
minhton::NodeInfo | calcOurNewAdjacentRight (const minhton::NodeInfo &entering_node, const minhton::NodeInfo &entering_node_adj_left) const |
bool | mustSendUpdateLeft (const minhton::NodeInfo &entering_node_adj_right) const |
bool | mustSendUpdateRight (const minhton::NodeInfo &entering_node_adj_left) const |
minhton::NodeInfo | getCloserAdjacent (const minhton::NodeInfo &entering_node, const minhton::NodeInfo &alleged_adjacent) const |
void | allUpdatesAcknowledged () |
Protected Member Functions inherited from minhton::AlgorithmInterface | |
void | send (const MessageVariant &msg) |
std::shared_ptr< RoutingInformation > | getRoutingInfo () const |
NodeInfo | getSelfNodeInfo () const |
Protected Attributes inherited from minhton::JoinAlgorithmGeneral | |
PhysicalNodeInfo | last_join_info_ |
Protected Attributes inherited from minhton::AlgorithmInterface | |
std::shared_ptr< AccessContainer > | access_ |
|
overridevirtual |
Helper method for the perform accept child procedure.
Sending UPDATE_ROUTING_TABLE_NEIGHBOR_CHILD messages with the entering_node as the node to inform to each of our routing table neighbors, because those nodes have the entering_node as a routing table neighbor child.
Typical Usage:
entering_node | the node who wants to enter the network |
Reimplemented from minhton::MinhtonJoinAlgorithm.