7#ifndef MINHTON_ALGORITHMS_JOIN_ALGORITHM_GENERAL_H_
8#define MINHTON_ALGORITHMS_JOIN_ALGORITHM_GENERAL_H_
12#include "minhton/algorithms/join/interface_join_algorithm.h"
13#include "minhton/message/types_all.h"
24 void process(
const MessageVariant &msg)
override;
324 void allUpdatesAcknowledged();
Definition join_algorithm_general.h:17
virtual void processJoin(const MessageJoin &msg)=0
minhton::NodeInfo getCloserAdjacent(const minhton::NodeInfo &entering_node, const minhton::NodeInfo &alleged_adjacent) const
Definition join_algorithm_general_helper.cpp:231
std::vector< minhton::NodeInfo > getRoutingTableNeighborsForNewChild(const minhton::NodeInfo &new_child) const
Definition join_algorithm_general_helper.cpp:194
minhton::NodeInfo calcAdjacentLeftOfNewChild(const minhton::NodeInfo &entering_node) const
Definition join_algorithm_general_helper.cpp:70
virtual uint32_t performSendUpdateNeighborMessagesAboutEnteringNode(minhton::NodeInfo entering_node)=0
void performSendJoinAccept(const minhton::NodeInfo &entering_node, const minhton::NodeInfo &entering_node_adj_left, const minhton::NodeInfo &entering_node_adj_right)
Definition join_algorithm_general.cpp:181
void processJoinAcceptAck(const MessageJoinAcceptAck &msg)
Definition join_algorithm_general.cpp:253
void processJoinAccept(const MessageJoinAccept &msg)
Definition join_algorithm_general.cpp:207
minhton::NodeInfo calcOurNewAdjacentLeft(const minhton::NodeInfo &entering_node, const minhton::NodeInfo &entering_node_adj_right) const
Definition join_algorithm_general_helper.cpp:163
bool mustSendUpdateLeft(const minhton::NodeInfo &entering_node_adj_right) const
Definition join_algorithm_general_helper.cpp:133
void continueAcceptChildProcedure(const minhton::MessageInformAboutNeighbors &message) noexcept(false) override
Definition join_algorithm_general.cpp:140
void performAcceptChild(minhton::NodeInfo entering_node, bool use_complete_balancing=false)
Definition join_algorithm_general.cpp:51
bool mustSendUpdateRight(const minhton::NodeInfo &entering_node_adj_left) const
Definition join_algorithm_general_helper.cpp:148
minhton::NodeInfo calcAdjacentRightOfNewChild(const minhton::NodeInfo &entering_node) const
Definition join_algorithm_general_helper.cpp:101
minhton::NodeInfo calcOurNewAdjacentRight(const minhton::NodeInfo &entering_node, const minhton::NodeInfo &entering_node_adj_left) const
Definition join_algorithm_general_helper.cpp:177
minhton::NodeInfo calcNewChildPosition(bool use_complete_balancing=false) const
Definition join_algorithm_general_helper.cpp:26
void initiateJoin(NodeInfo &node_info) override
Definition join_algorithm_general.cpp:29
Definition interface_join_algorithm.h:18
Usage: After receiving a MessageJoinAccept, the new child must send a MessageJoinAcceptAck back to th...
Definition join_accept_ack.h:19
Usage: A fitting join position has been found by forwarding the MessageJoin appropriately....
Definition join_accept.h:19
Usage: When a node wants to join the network, it sends a MessageJoin to one node in the network....
Definition join.h:19
Definition node_info.h:24
Definition physical_node_info.h:23
Definition minhton_watchdog_ns3.cpp:24