+ void push(CommImplPtr comm);
+ void remove(const CommImplPtr& comm);
+ CommImplPtr iprobe(int type, int (*match_fun)(void*, void*, CommImpl*), void* data);
+ CommImplPtr find_matching_comm(CommImpl::Type type, int (*match_fun)(void*, void*, CommImpl*), void* this_user_data,
+ const CommImplPtr& my_synchro, bool done, bool remove_matching);