A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
convert getCname to get_cname
[simgrid.git]
/
examples
/
s4u
/
dht-chord
/
s4u-dht-chord.hpp
diff --git
a/examples/s4u/dht-chord/s4u-dht-chord.hpp
b/examples/s4u/dht-chord/s4u-dht-chord.hpp
index
f161ef7
..
016cba3
100644
(file)
--- a/
examples/s4u/dht-chord/s4u-dht-chord.hpp
+++ b/
examples/s4u/dht-chord/s4u-dht-chord.hpp
@@
-32,7
+32,7
@@
public:
explicit HostChord(simgrid::s4u::Host* ptr) : host(ptr)
{
explicit HostChord(simgrid::s4u::Host* ptr) : host(ptr)
{
- std::string descr = std::string("RngSream<") + host->get
C
name() + ">";
+ std::string descr = std::string("RngSream<") + host->get
_c
name() + ">";
stream_ = RngStream_CreateStream(descr.c_str());
}
stream_ = RngStream_CreateStream(descr.c_str());
}
@@
-42,7
+42,7
@@
public:
};
/* Types of tasks exchanged between nodes. */
};
/* Types of tasks exchanged between nodes. */
-
typedef enum
{
+
enum e_message_type_t
{
FIND_SUCCESSOR,
FIND_SUCCESSOR_ANSWER,
GET_PREDECESSOR,
FIND_SUCCESSOR,
FIND_SUCCESSOR_ANSWER,
GET_PREDECESSOR,
@@
-52,7
+52,7
@@
typedef enum {
PREDECESSOR_LEAVING,
PREDECESSOR_ALIVE,
PREDECESSOR_ALIVE_ANSWER
PREDECESSOR_LEAVING,
PREDECESSOR_ALIVE,
PREDECESSOR_ALIVE_ANSWER
-}
e_message_type_t
;
+};
class ChordMessage {
public:
class ChordMessage {
public:
@@
-64,7
+64,7
@@
public:
simgrid::s4u::MailboxPtr answer_to; // mailbox to send an answer to (if any)
explicit ChordMessage(e_message_type_t type)
simgrid::s4u::MailboxPtr answer_to; // mailbox to send an answer to (if any)
explicit ChordMessage(e_message_type_t type)
- : type(type), issuer_host_name(simgrid::s4u::this_actor::getHost()->get
N
ame())
+ : type(type), issuer_host_name(simgrid::s4u::this_actor::getHost()->get
_n
ame())
{
}
{
}
@@
-87,6
+87,7
@@
class Node {
public:
explicit Node(std::vector<std::string> args);
public:
explicit Node(std::vector<std::string> args);
+ Node(const Node&) = delete;
~Node();
void join(int known_id);
void leave();
~Node();
void join(int known_id);
void leave();
@@
-161,7
+162,12
@@
public:
}
now = simgrid::s4u::Engine::getClock();
}
}
now = simgrid::s4u::Engine::getClock();
}
- delete static_cast<ChordMessage*>(data);
+ if (comm_receive != nullptr) {
+ if (comm_receive->test())
+ delete static_cast<ChordMessage*>(data);
+ else
+ comm_receive->cancel();
+ }
// leave the ring
leave();
}
// leave the ring
leave();
}