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;
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;
Basic implementation of 'ISerializer'.
Interface for a serialization message between IMessagePassingMng.
eStrategy
Sending/receiving strategy.
@ Default
Default strategy.
Serializing message using a BasicSerializer.
void setFinished(bool v) override
Sets the 'finished' state of the message.
void setTag(Int32 tag) override
Int32 destRank() const override
Destination rank (if isSend() is true) or sender.
MessageId _internalMessageId() const override
Message identifier.
eStrategy strategy() const override
Strategy used for sends/receives.
eMessageType m_old_message_type
Message type (obsolete).
MessageRank source() const override
Message sender rank.
ISerializer * serializer() override
Serializer.
MessageId m_message_id
Associated MessageId (can be null).
void setInternalTag(MessageTag tag) override
Sets an internal tag for the message.
bool isSend() const override
true if it should send, false if it should receive
BasicSerializer * m_buffer
Buffer containing the info.
bool isProcessed() const override
Indicates if the message has already been processed.
MessageRank destination() const override
Destination rank (if isSend() is true) or sender.
MessageRank m_dest_rank
Rank of the message recipient.
ePointToPointMessageType m_message_type
Message type.
bool m_finished
true if message finished
static MessageTag defaultTag()
Default tag for serialization messages.
bool finished() const override
true if the message is finished
bool m_is_send
true if sending, false if receiving
eMessageType messageType() const override
Message type.
MessageTag internalTag() const override
Internal tag of the message.
bool m_is_processed
Message number when using multiple messages.
Int32 origRank() const override
Message sender rank See also destRank() for interpretation based on the value of isSend().
MessageRank m_orig_rank
Rank of the request sender.
Int32 tag() const override
Internal tag of the message.
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.