Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
explicitely capture variables in lambda to please sonar
[simgrid.git] / src / mc / mc_request.h
1 /* Copyright (c) 2007-2015. 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_REQUEST_H
8 #define SIMGRID_MC_REQUEST_H
9
10 #include <string>
11
12 #include <xbt/base.h>
13
14 #include "src/simix/smx_private.h"
15
16 namespace simgrid {
17 namespace mc {
18
19 enum class RequestType {
20   simix,
21   executed,
22   internal,
23 };
24
25 XBT_PRIVATE bool request_depend(smx_simcall_t req1, smx_simcall_t req2);
26
27 XBT_PRIVATE std::string request_to_string(smx_simcall_t req, int value, simgrid::mc::RequestType type);
28
29 XBT_PRIVATE bool request_is_enabled_by_idx(smx_simcall_t req, unsigned int idx);
30
31 /** Is the process ready to execute its simcall?
32  *
33  *  This is true if the request associated with the process is ready.
34  */
35 XBT_PRIVATE bool process_is_enabled(smx_actor_t process);
36
37 XBT_PRIVATE std::string request_get_dot_output(smx_simcall_t req, int value);
38
39 }
40 }
41
42 #endif