How to use MPI_Waitall
The communicator returns Dune::Future for non-blocking communication routines. In some patterns you use
many non-blocking class and then call MPI_Waitall which can be more efficient than a loop over MPI_Wait calls (what future.wait() calls internally), see e.g. example. The requests are hidden inside the future and non-accessible at the moment.
How could we realize MPI_Waitall?
If the request are accessible, some external function that takes a range of futures, makes a vector of request pointers and then calls MPI_Waitall could be possible.
Edited by Timo Koch