Enable setting a specific data copy callback to any comm
This is becoming mandatory if one has the silly idea to mix SMPI
communications and S4U communications within the same simulation
launched with smpirun.
smpirun sets its own callback for ALL comms in smpi_main and thus
consider that averything is a SMPI communication. If you need to
trick SMPI to have S4U comms on the side, you thus have to
override this callback:
Sender side:
mbox->put_init(payload, size)
->set_copy_data_callback(SIMIX_comm_copy_pointer_callback)
->detach(); // or start/vetoable_start/wait
Receiver side:
mbox->get_init()
->set_dst_data(reinterpret_cast<void**>(data), sizeof(void*))
->set_copy_data_callback(SIMIX_comm_copy_pointer_callback)
->wait(); // or start/vetoable_start