- xbt_dict_set(F2C::f2c_lookup_, this==MPI_COMM_WORLD? get_key(key, F2C::f2c_id_) : get_key_id(key,F2C::f2c_id_), this, nullptr);
- F2C::f2c_id_++;
- return F2C::f2c_id_-1;
+ xbt_dict_set(F2C::f2c_lookup(), this==MPI_COMM_WORLD? get_key(key, F2C::f2c_id()) : get_key_id(key,F2C::f2c_id()), this, nullptr);
+ f2c_id_increment();
+ return F2C::f2c_id()-1;
+}
+
+
+void Comm::add_rma_win(MPI_Win win){
+ rma_wins_.push_back(win);
+}
+
+void Comm::remove_rma_win(MPI_Win win){
+ rma_wins_.remove(win);
+}
+
+void Comm::finish_rma_calls(){
+ for(auto it : rma_wins_){
+ if(it->rank()==this->rank()){//is it ours (for MPI_COMM_WORLD)?
+ int finished = it->finish_comms();
+ XBT_DEBUG("Barrier for rank %d - Finished %d RMA calls",this->rank(), finished);
+ }
+ }