1 /* Copyright (c) 2012-2020. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
7 #ifndef _KADEMLIA_TASK_HPP_
8 #define _KADEMLIA_TASK_HPP_
9 #include "s4u-dht-kademlia.hpp"
10 #include "simgrid/s4u.hpp"
19 unsigned int sender_id_ = 0; // Id of the guy who sent the task
20 unsigned int destination_id_ = 0; // Id we are trying to find, if needed.
21 std::unique_ptr<Answer> answer_ = nullptr; // Answer to the request made, if needed.
22 simgrid::s4u::Mailbox* answer_to_ = nullptr; // mailbox to send the answer to (if not an answer).
23 std::string issuer_host_name_; // used for logging
25 explicit Message(unsigned int sender_id, unsigned int destination_id, std::unique_ptr<Answer> answer,
26 simgrid::s4u::Mailbox* mailbox, const char* hostname)
27 : sender_id_(sender_id)
28 , destination_id_(destination_id)
29 , answer_(std::move(answer))
31 , issuer_host_name_(hostname)
34 explicit Message(unsigned int sender_id, unsigned int destination_id, simgrid::s4u::Mailbox* mailbox,
36 : Message(sender_id, destination_id, nullptr, mailbox, hostname)
39 Message(const Message&) = delete;
40 Message& operator=(const Message&) = delete;
42 } // namespace kademlia