SOLA
Loading...
Searching...
No Matches
interface_search_exact_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_SEARCHEXACT_SEARCH_EXACT_ALGORITHM_INTERFACE_H_
8#define MINHTON_ALGORITHMS_SEARCHEXACT_SEARCH_EXACT_ALGORITHM_INTERFACE_H_
9
10#include <memory>
11
12#include "minhton/algorithms/algorithm_interface.h"
13#include "minhton/core/physical_node_info.h"
14#include "minhton/message/message.h"
15#include "minhton/message/se_types.h"
16
17namespace minhton {
18
20public:
21 explicit SearchExactAlgorithmInterface(std::shared_ptr<AccessContainer> access)
22 : AlgorithmInterface(access){};
23
24 ~SearchExactAlgorithmInterface() override = default;
25
26 void process(const MessageVariant &msg) override = 0;
27 virtual void performSearchExact(const minhton::NodeInfo &destination,
28 std::shared_ptr<MessageSEVariant> query) = 0;
29
30 static std::vector<minhton::MessageType> getSupportedMessageTypes() {
31 return {
32 MessageType::kSearchExact,
33 MessageType::kEmpty,
34 };
35 }
36};
37
38} // namespace minhton
39
40#endif
Definition algorithm_interface.h:18
Definition node_info.h:24
Definition interface_search_exact_algorithm.h:19
Definition minhton_watchdog_ns3.cpp:24