Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
get_comm_irecv_raw_addr() defined and implemented
authoreazimi <azimi.ehsan@outlook.com>
Thu, 28 Jan 2021 18:08:06 +0000 (19:08 +0100)
committereazimi <azimi.ehsan@outlook.com>
Thu, 28 Jan 2021 18:08:06 +0000 (19:08 +0100)
src/mc/api.cpp
src/mc/api.hpp

index a8f85a3..e472e21 100644 (file)
@@ -327,6 +327,12 @@ RemotePtr<kernel::activity::CommImpl> Api::get_comm_isend_raw_addr(smx_simcall_t
   return RemotePtr<kernel::activity::CommImpl>(static_cast<kernel::activity::CommImpl*>(comm_addr));
 }
 
+RemotePtr<kernel::activity::CommImpl> Api::get_comm_irecv_raw_addr(smx_simcall_t request) const
+{
+  auto comm_addr = simgrid::simix::unmarshal_raw<simgrid::kernel::activity::ActivityImpl*>(request->result_);
+  return RemotePtr<kernel::activity::CommImpl>(static_cast<kernel::activity::CommImpl*>(comm_addr));
+}
+
 RemotePtr<kernel::activity::CommImpl> Api::get_comm_wait_raw_addr(smx_simcall_t request) const
 {
   auto comm_addr = simgrid::simix::unmarshal_raw<simgrid::kernel::activity::CommImpl*>(request->args_[0]);
index 5c0b91b..056e494 100644 (file)
@@ -59,6 +59,7 @@ public:
 
   // COMMUNICATION APIs
   RemotePtr<kernel::activity::CommImpl> get_comm_isend_raw_addr(smx_simcall_t request) const;
+  RemotePtr<kernel::activity::CommImpl> get_comm_irecv_raw_addr(smx_simcall_t request) const;
   RemotePtr<kernel::activity::CommImpl> get_comm_wait_raw_addr(smx_simcall_t request) const;
   RemotePtr<kernel::activity::CommImpl> get_comm_waitany_raw_addr(smx_simcall_t request, int value) const;
   std::string get_pattern_comm_rdv(RemotePtr<kernel::activity::CommImpl> const& addr) const;