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
49class ARCCORE_MESSAGEPASSING_EXPORT BasicSerializeMessage
54 static const Int32 DEFAULT_SERIALIZE_TAG_VALUE = 101;
94 bool isSend()
const override {
return m_is_send; }
95 eMessageType
messageType()
const override {
return m_old_message_type; }
101 bool finished()
const override {
return m_finished; }
102 void setFinished(
bool v)
override { m_finished = v; }
104 Int32 tag()
const override {
return m_tag.value(); }
105 void setInternalTag(MessageTag tag)
override { m_tag = tag; }
106 MessageTag internalTag()
const override {
return m_tag; }
107 MessageId _internalMessageId()
const override {
return m_message_id; }
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);
128 MessageRank m_orig_rank;
129 MessageRank m_dest_rank;
130 MessageTag m_tag = defaultTag();
133 eStrategy m_strategy = eStrategy::Default;
135 BasicSerializer* m_buffer =
nullptr;
136 bool m_finished =
false;
137 MessageId m_message_id;
138 Int32 m_message_number = 0;
139 bool m_is_processed =
false;
eStrategy
Sending/receiving strategy.
Int32 destRank() const override
Destination rank (if isSend() is true) or sender.
eStrategy strategy() const override
Strategy used for sends/receives.
MessageRank source() const override
Message sender rank.
ISerializer * serializer() override
Serializer.
bool isSend() const override
true if it should send, false if it should receive
bool isProcessed() const override
Indicates if the message has already been processed.
MessageRank destination() const override
Destination rank (if isSend() is true) or sender.
static MessageTag defaultTag()
Default tag for serialization messages.
bool finished() const override
true if the message is finished
eMessageType messageType() const override
Message type.
Int32 origRank() const override
Message sender rank See also destRank() for interpretation based on the value of isSend().
Reference to an instance.
ePointToPointMessageType
Point-to-point message type.
eMessageType
Stream on which messages are sent.
std::int32_t Int32
Signed integer type of 32 bits.