return static_cast<simgrid::kernel::activity::CommImpl*>(addr);
}
-std::string Api::get_pattern_comm_rdv(void* addr) const
+std::string Api::get_pattern_comm_rdv(RemotePtr<kernel::activity::CommImpl> const& addr) const
{
Remote<kernel::activity::CommImpl> temp_synchro;
- mc_model_checker->get_remote_simulation().read(temp_synchro, remote((simgrid::kernel::activity::CommImpl*)addr));
+ mc_model_checker->get_remote_simulation().read(temp_synchro, remote(addr.local()));
const kernel::activity::CommImpl* synchro = temp_synchro.get_buffer();
char* remote_name = mc_model_checker->get_remote_simulation().read<char*>(RemotePtr<char*>(
RemotePtr<kernel::activity::CommImpl> get_comm_isend_raw_addr(smx_simcall_t request) const;
kernel::activity::CommImpl* get_comm_wait_raw_addr(smx_simcall_t request) const;
kernel::activity::CommImpl* get_comm_waitany_raw_addr(smx_simcall_t request, int value) const;
- std::string get_pattern_comm_rdv(void* addr) const;
+ std::string get_pattern_comm_rdv(RemotePtr<kernel::activity::CommImpl> const& addr) const;
unsigned long get_pattern_comm_src_proc(void* addr) const;
unsigned long get_pattern_comm_dst_proc(void* addr) const;
std::vector<char> get_pattern_comm_data(void* addr) const;
/* Create comm pattern */
pattern->type = PatternCommunicationType::send;
pattern->comm_addr = api::get().get_comm_isend_raw_addr(request).local();
- pattern->rdv = api::get().get_pattern_comm_rdv(pattern->comm_addr);
+ pattern->rdv = api::get().get_pattern_comm_rdv(remote(pattern->comm_addr));
pattern->src_proc = api::get().get_pattern_comm_src_proc(pattern->comm_addr);
pattern->src_host = Api::get().get_actor_host_name(issuer);
pattern->tag = api::get().get_smpi_request_tag(request, simgrid::simix::Simcall::COMM_IRECV);
#endif
auto comm_addr = pattern->comm_addr;
- pattern->rdv = api::get().get_pattern_comm_rdv(comm_addr);
+ pattern->rdv = api::get().get_pattern_comm_rdv(remote(comm_addr));
pattern->dst_proc = api::get().get_pattern_comm_dst_proc(comm_addr);
pattern->dst_host = api::get().get_actor_host_name(issuer);
} else