X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b487d5a9259b88670b8cd97e9c16e4b000c11008..ceaf8b82812aa8d58495687482fc6d4995119934:/src/mc/mc_request.h diff --git a/src/mc/mc_request.h b/src/mc/mc_request.h index 1bc9eb8d7f..2d78269da1 100644 --- a/src/mc/mc_request.h +++ b/src/mc/mc_request.h @@ -1,42 +1,42 @@ -/* Copyright (c) 2007-2014. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2007-2017. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include +#ifndef SIMGRID_MC_REQUEST_H +#define SIMGRID_MC_REQUEST_H -#include "../simix/smx_private.h" +#include "src/simix/smx_private.h" -#ifndef MC_REQUEST_H -#define MC_REQUEST_H +namespace simgrid { +namespace mc { -SG_BEGIN_DECL() +enum class RequestType { + simix, + executed, + internal, +}; -int MC_request_depend(smx_simcall_t req1, smx_simcall_t req2); -char* MC_request_to_string(smx_simcall_t req, int value); -unsigned int MC_request_testany_fail(smx_simcall_t req); -/*int MC_waitany_is_enabled_by_comm(smx_req_t req, unsigned int comm);*/ -int MC_request_is_visible(smx_simcall_t req); +XBT_PRIVATE bool request_depend(smx_simcall_t req1, smx_simcall_t req2); -/** Can this requests can be executed. +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. * * 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). */ -int MC_request_is_enabled(smx_simcall_t req); -int MC_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. - */ -int MC_process_is_enabled(smx_process_t process); +XBT_PRIVATE bool actor_is_enabled(smx_actor_t process); -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