SOLA
Loading...
Searching...
No Matches
minhton_join_algorithm.h
1// Copyright The SOLA Contributors
2//
3// Licensed under the MIT License.
4// For details on the licensing terms, see the LICENSE file.
5// SPDX-License-Identifier: MIT
6
7#ifndef MINHTON_ALGORITHMS_JOIN_MINHTON_JOIN_ALGORITHM_H_
8#define MINHTON_ALGORITHMS_JOIN_MINHTON_JOIN_ALGORITHM_H_
9
10#include <memory>
11#include <optional>
12
13#include "minhton/algorithms/find_end/minhton_find_end_algorithm.h"
14#include "minhton/algorithms/join/join_algorithm_general.h"
15#include "minhton/message/find_end.h"
16
17namespace minhton {
18
20public:
21 explicit MinhtonJoinAlgorithm(std::shared_ptr<AccessContainer> access)
22 : JoinAlgorithmGeneral(access), find_end_helper_(access, true){};
23
40 void processJoin(const MessageJoin &msg) override;
41
56 minhton::NodeInfo entering_node) override;
57
58private:
59 MinhtonFindEndAlgorithm find_end_helper_;
60};
61
62} // namespace minhton
63
64#endif
Definition join_algorithm_general.h:17
Usage: When a node wants to join the network, it sends a MessageJoin to one node in the network....
Definition join.h:19
Definition minhton_find_end_algorithm.h:18
Definition minhton_join_algorithm.h:19
uint32_t performSendUpdateNeighborMessagesAboutEnteringNode(minhton::NodeInfo entering_node) override
Definition minhton_join_algorithm.cpp:74
void processJoin(const MessageJoin &msg) override
Definition minhton_join_algorithm.cpp:14
Definition node_info.h:24
Definition minhton_watchdog_ns3.cpp:24