12#ifndef ARCCORE_MESSAGEPASSING_BASICSERIALIZEMESSAGE_H
13#define ARCCORE_MESSAGEPASSING_BASICSERIALIZEMESSAGE_H
17#include "arccore/serialize/BasicSerializer.h"
18#include "arccore/message_passing/ISerializeMessage.h"
19#include "arccore/message_passing/MessageRank.h"
20#include "arccore/message_passing/MessageTag.h"
21#include "arccore/message_passing/MessageId.h"
27namespace Arcane::MessagePassing::internal
48class ARCCORE_MESSAGEPASSING_EXPORT BasicSerializeMessage
53 static const Int32 DEFAULT_SERIALIZE_TAG_VALUE = 101;
104 Int32 tag()
const override {
return m_tag.value(); }
108 void setStrategy(eStrategy strategy)
override;
116 Int32 messageNumber()
const {
return m_message_number; }
117 void setMessageNumber(Int32 v) { m_message_number = v; }
118 void setIsProcessed(
bool v) { m_is_processed = v; }
124 static eMessageType _toMessageType(ePointToPointMessageType mtype);
138 Int32 m_message_number = 0;
Implémentation basique de 'ISerializer'.
Interface d'un sérialiseur.
Interface d'un message de sérialisation entre IMessagePassingMng.
eStrategy
Stratégie d'envoi/réception.
@ Default
Stratégie par défaut.
Message de sérialisation utilisant un BasicSerializer.
void setFinished(bool v) override
Positionne l'état 'fini' du message.
void setTag(Int32 tag) override
Int32 destRank() const override
Rang du destinataire (si isSend() est vrai) ou envoyeur.
MessageId _internalMessageId() const override
Identificant du message.
eStrategy strategy() const override
Stratégie utilisée pour les envois/réceptions.
eMessageType m_old_message_type
Type du message (obsolète)
MessageRank source() const override
Rang de l'envoyeur du message.
ISerializer * serializer() override
Sérialiseur.
MessageId m_message_id
MessageId associé (peut être nul)
void setInternalTag(MessageTag tag) override
Positionne un tag interne pour le message.
bool isSend() const override
true s'il faut envoyer, false s'il faut recevoir
BasicSerializer * m_buffer
Tampon contenant les infos.
bool isProcessed() const override
Indique si le message a déjà été traité.
MessageRank destination() const override
Rang du destinataire (si isSend() est vrai) ou de l'envoyeur.
MessageRank m_dest_rank
Rang du destinataire du message.
ePointToPointMessageType m_message_type
Type du message.
bool m_finished
true si message terminé
static MessageTag defaultTag()
Tag par défaut pour les messages de sérialisation.
bool finished() const override
true si le message est terminé
bool m_is_send
true si envoie, false si réception
eMessageType messageType() const override
Type du message.
MessageTag internalTag() const override
Tag interne du message.
bool m_is_processed
Numéro du message lorsqu'on utilise plusieurs messages.
Int32 origRank() const override
Rang de l'envoyeur du message Voir aussi destRank() pour une interprétation suivant la valeur de isSe...
MessageRank m_orig_rank
Rang de l'expéditeur de la requête.
Int32 tag() const override
Tag interne du message.
Référence à une instance.
ePointToPointMessageType
Type de message point à point.
eMessageType
Flot sur lequel on envoie les messages.
std::int32_t Int32
Type entier signé sur 32 bits.