Interface of an asynchronous particle exchanger.
Interface of a particle exchanger.
virtual void addNewParticles(Integer nb_particle)=0
Adds nb_particle to the current exchange.
virtual void setVerboseLevel(Integer level)=0
Sets the verbosity level (0 for no messages).
virtual bool waitMessages(Integer nb_pending_particle, Int32Array *new_particle_local_ids, IFunctor *functor)=0
virtual Integer verboseLevel() const =0
Verbosity level.
virtual IAsyncParticleExchanger * asyncParticleExchanger()=0
Asynchronism management (returns nullptr if functionality is not available).
virtual IItemFamily * itemFamily()=0
Associated family.
virtual void initialize(IItemFamily *item_family)=0
Initializes the exchanger for the item_family item_family.
virtual void beginNewExchange(Integer nb_particle)=0
Starts a new particle exchange.
virtual void sendItems(Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send)=0
virtual ~IParticleExchanger()=default
Releases resources.
virtual ARCANE_DEPRECATED bool exchangeItems(Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send, ItemGroup item_group, IFunctor *wait_functor)=0
Exchanges particles between sub-domains.
virtual bool exchangeItems(Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView ranks_to_send, Int32Array *new_particle_local_ids, IFunctor *wait_functor)=0
Exchanges particles between sub-domains.