Interface d'un échangeur de particules asynchrone.
Interface d'un échangeur de particules.
bool waitMessages(Integer nb_pending_particles, Int32Array *new_particle_local_ids, IFunctor *functor) override
void setVerboseLevel(Integer level) override
Positionne le niveau de verbosité (0 pour aucune message)
void sendItems(Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send) override
void initialize(IItemFamily *item_family) override
Initialize l'échangeur pour la familly item_family.
IAsyncParticleExchanger * asyncParticleExchanger() override
Gestion de l'asynchronisme (retourne nullptr si fonctionnalité non disponible)
void build() override
Construction de niveau build du service.
void beginNewExchange(Integer nb_particule) override
Commence un nouvel échange de particules.
void addNewParticles(Integer nb_particle) override
Ajoute nb_particle dans l'échange actuel.
bool exchangeItems(Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send, ItemGroup item_group, IFunctor *functor) override
Échange des particules entre sous-domaines.
Integer verboseLevel() const override
Niveau de verbosité
IItemFamily * itemFamily() override
Famille associée.
Echangeur de particules basique (utilise une réduction bloquante).