X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b3b356352e87ae00a20f737c48e19b0c8413455a..36fa571a13985879dc627c70ecc2340af606aa42:/src/mc/mc_request.h diff --git a/src/mc/mc_request.h b/src/mc/mc_request.h index 05bc77af17..476cf9e0fe 100644 --- a/src/mc/mc_request.h +++ b/src/mc/mc_request.h @@ -7,42 +7,36 @@ #ifndef SIMGRID_MC_REQUEST_H #define SIMGRID_MC_REQUEST_H -#include +#include -#include "../simix/smx_private.h" +#include -SG_BEGIN_DECL() +#include "src/simix/smx_private.h" -typedef enum e_mc_request_type { - MC_REQUEST_SIMIX, - MC_REQUEST_EXECUTED, - MC_REQUEST_INTERNAL, -} e_mc_request_type_t; +namespace simgrid { +namespace mc { -XBT_INTERNAL int MC_request_depend(smx_simcall_t req1, smx_simcall_t req2); -XBT_INTERNAL char* MC_request_to_string(smx_simcall_t req, int value, e_mc_request_type_t type); -XBT_INTERNAL unsigned int MC_request_testany_fail(smx_simcall_t req); -/*int MC_waitany_is_enabled_by_comm(smx_req_t req, unsigned int comm);*/ -XBT_INTERNAL int MC_request_is_visible(smx_simcall_t req); +enum class RequestType { + simix, + executed, + internal, +}; -/** Can this requests can be executed. - * - * Most requests are always enabled but WAIT and WAITANY - * are not always enabled: a WAIT where the communication does not - * have both a source and a destination yet is not enabled - * (unless timeout is enabled in the wait and enabeld in SimGridMC). - */ -XBT_INTERNAL int MC_request_is_enabled(smx_simcall_t req); -XBT_INTERNAL int MC_request_is_enabled_by_idx(smx_simcall_t req, unsigned int idx); +XBT_PRIVATE bool request_depend(smx_simcall_t req1, smx_simcall_t req2); + +XBT_PRIVATE std::string request_to_string(smx_simcall_t req, int value, simgrid::mc::RequestType type); + +XBT_PRIVATE bool request_is_enabled_by_idx(smx_simcall_t req, unsigned int idx); /** Is the process ready to execute its simcall? * * This is true if the request associated with the process is ready. */ -XBT_INTERNAL int MC_process_is_enabled(smx_process_t process); +XBT_PRIVATE bool actor_is_enabled(smx_actor_t process); -XBT_INTERNAL char *MC_request_get_dot_output(smx_simcall_t req, int value); +XBT_PRIVATE std::string request_get_dot_output(smx_simcall_t req, int value); -SG_END_DECL() +} +} #endif