+ MPI_Request req = *request;
+ int my_proc_id = (req->comm() != MPI_COMM_NULL) ? simgrid::s4u::this_actor::get_pid() : -1;
+ TRACE_smpi_comm_in(my_proc_id, __func__,
+ new simgrid::instr::Pt2PtTIData("Start", req->dst(),
+ req->size(),
+ req->tag(),
+ simgrid::smpi::Datatype::encode(req->type())));
+ if (not TRACE_smpi_view_internals() && req->flags() & MPI_REQ_SEND)
+ TRACE_smpi_send(my_proc_id, my_proc_id, getPid(req->comm(), req->dst()), req->tag(), req->size());
+
+ req->start();
+
+ if (not TRACE_smpi_view_internals() && req->flags() & MPI_REQ_RECV)
+ TRACE_smpi_recv(getPid(req->comm(), req->src()), my_proc_id, req->tag());
+ retval = MPI_SUCCESS;
+ TRACE_smpi_comm_out(my_proc_id);