SOLA
Loading...
Searching...
No Matches
search_exact_algorithm_general.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_SEARCHEXACT_SEARCH_EXACT_ALGORITHM_GENERAL_H_
8#define MINHTON_ALGORITHMS_SEARCHEXACT_SEARCH_EXACT_ALGORITHM_GENERAL_H_
9
10#include <memory>
11
12#include "minhton/algorithms/search_exact/interface_search_exact_algorithm.h"
13#include "minhton/message/message.h"
14#include "minhton/message/remove_neighbor.h"
15#include "minhton/message/search_exact.h"
16#include "minhton/message/search_exact_failure.h"
17
18namespace minhton {
19
21public:
22 explicit SearchExactAlgorithmGeneral(std::shared_ptr<AccessContainer> access)
24
25 ~SearchExactAlgorithmGeneral() override = default;
26
27 void process(const MessageVariant &msg) override;
28
43 void performSearchExact(const minhton::NodeInfo &destination,
44 std::shared_ptr<MessageSEVariant> query) override;
45
46protected:
47 virtual minhton::NodeInfo calcClosestRedirect(double dest_value) = 0;
48
64
65 void notifyAboutFailure(const minhton::NodeInfo &destination,
66 std::shared_ptr<MessageSEVariant> query);
67};
68
69} // namespace minhton
70
71#endif
Usage: A node wants to send a message to another node in the network, but does not know the physical ...
Definition search_exact.h:19
Definition node_info.h:24
Definition search_exact_algorithm_general.h:20
void processSearchExact(const minhton::MessageSearchExact &msg)
Definition search_exact_algorithm_general.cpp:24
void performSearchExact(const minhton::NodeInfo &destination, std::shared_ptr< MessageSEVariant > query) override
Definition search_exact_algorithm_general.cpp:29
Definition interface_search_exact_algorithm.h:19
Definition minhton_watchdog_ns3.cpp:24