Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Rewrite without delegated constructor.
[simgrid.git] / src / mc / Transition.hpp
1 /* Copyright (c) 2015-2018. The SimGrid Team.
2  * All rights reserved.                                                     */
3
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. */
6
7 #ifndef SIMGRID_MC_TRANSITION_HPP
8 #define SIMGRID_MC_TRANSITION_HPP
9
10 namespace simgrid {
11 namespace mc {
12
13 /** An element in the recorded path
14  *
15  *  At each decision point, we need to record which process transition
16  *  is triggered and potentially which value is associated with this
17  *  transition. The value is used to find which communication is triggered
18  *  in things like waitany and for associating a given value of MC_random()
19  *  calls.
20  */
21 struct Transition {
22   int pid = 0;
23
24   /* Which transition was executed for this simcall
25    *
26    * Some simcalls can lead to different transitions:
27    *
28    * * waitany/testany can trigger on different messages;
29    *
30    * * random can produce different values.
31    */
32   int argument = 0;
33 };
34
35 }
36 }
37
38 #endif