Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
mc_api::get_comm_waitany_raw_addr() defined
authorEhsan Azimi <eazimi@ehsan.irisa.fr>
Mon, 30 Nov 2020 16:22:49 +0000 (17:22 +0100)
committerEhsan Azimi <eazimi@ehsan.irisa.fr>
Mon, 30 Nov 2020 16:22:49 +0000 (17:22 +0100)
src/mc/mc_api.cpp
src/mc/mc_api.hpp

index 918c8be..7f11411 100644 (file)
@@ -239,6 +239,12 @@ simgrid::mc::RemotePtr<kernel::activity::CommImpl> mc_api::get_comm_wait_raw_add
   return remote(simcall_comm_wait__getraw__comm(request));
 }
 
+simgrid::mc::RemotePtr<kernel::activity::CommImpl> mc_api::get_comm_waitany_raw_addr(smx_simcall_t request, int value) const
+{
+  auto addr = mc_model_checker->get_remote_simulation().read(remote(simcall_comm_waitany__getraw__comms(request) + value));
+  return remote(static_cast<simgrid::kernel::activity::CommImpl*>(addr));
+}
+
 std::string mc_api::get_pattern_comm_rdv(void* addr) const
 {
   Remote<kernel::activity::CommImpl> temp_synchro;
index e08c10f..b8b41fe 100644 (file)
@@ -49,6 +49,7 @@ public:
   void copy_index_comm_pattern(simgrid::mc::State* state) const;
   kernel::activity::CommImpl* get_comm_isend_raw_addr(smx_simcall_t request) const;
   simgrid::mc::RemotePtr<kernel::activity::CommImpl> get_comm_wait_raw_addr(smx_simcall_t request) const;
+  simgrid::mc::RemotePtr<kernel::activity::CommImpl> get_comm_waitany_raw_addr(smx_simcall_t request, int value) const;
   std::string get_pattern_comm_rdv(void* addr) const;
   unsigned long get_pattern_comm_src_proc(void* addr) const;
   unsigned long get_pattern_comm_dst_proc(void* addr) const;