Public Types | |
| enum | eMessageType { MT_Send , MT_Recv , MT_Broadcast } |
| enum class | eStrategy { Default , OneMessage } |
| Sending/receiving strategy. More... | |
Public Member Functions | |
| virtual | ~ISerializeMessage ()=default |
| Releases resources. | |
| virtual bool | isSend () const =0 |
| true if it should send, false if it should receive | |
| virtual eMessageType | messageType () const =0 |
| Message type. | |
| virtual Int32 | destRank () const =0 |
| Destination rank (if isSend() is true) or sender. | |
| virtual MessageRank | destination () const =0 |
| Destination rank (if isSend() is true) or sender. | |
| virtual Int32 | origRank () const =0 |
| Message sender rank See also destRank() for interpretation based on the value of isSend(). | |
| virtual MessageRank | source () const =0 |
| Message sender rank. | |
| virtual ISerializer * | serializer ()=0 |
| Serializer. | |
| virtual bool | finished () const =0 |
| true if the message is finished | |
| virtual void | setFinished (bool v)=0 |
| virtual void | setTag (Int32 tag)=0 |
| virtual void | setInternalTag (MessageTag tag)=0 |
| virtual Int32 | tag () const =0 |
| virtual MessageTag | internalTag () const =0 |
| virtual MessageId | _internalMessageId () const =0 |
| virtual void | setStrategy (eStrategy strategy)=0 |
| Sets the sending/receiving strategy. | |
| virtual eStrategy | strategy () const =0 |
| Strategy used for sends/receives. | |
| virtual bool | isProcessed () const =0 |
| Indicates if the message has already been processed. | |
Definition at line 45 of file arccore/src/message_passing/arccore/message_passing/ISerializeMessage.h.
| enum Arcane::MessagePassing::ISerializeMessage::eMessageType |
Definition at line 49 of file arccore/src/message_passing/arccore/message_passing/ISerializeMessage.h.
|
strong |
Sending/receiving strategy.
| Enumerator | |
|---|---|
| Default | Default strategy. |
| OneMessage | Strategy using a single message if possible. This assumes using the mpProbe() function to know the message size before posting the reception. |
Definition at line 56 of file arccore/src/message_passing/arccore/message_passing/ISerializeMessage.h.
|
pure virtual |
Destination rank (if isSend() is true) or sender.
In the case of a reception, the rank can be null to indicate that you wish to receive from anyone. rank by specifying A_NULL_RANK.
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
References destination().
Referenced by Arcane::Parallel::VariableParallelOperationBase::applyOperation(), and destination().
|
pure virtual |
Destination rank (if isSend() is true) or sender.
In the case of a reception, it is possible to specify any rank by specifying A_NULL_RANK.
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
References destRank().
Referenced by destRank().
|
pure virtual |
true if the message is finished
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
References finished().
Referenced by finished().
|
pure virtual |
Indicates if the message has already been processed.
If the message has already been processed, it is not possible to change certain characteristics (such as the strategy or the tag)
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
References isProcessed().
Referenced by isProcessed().
|
pure virtual |
true if it should send, false if it should receive
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
|
pure virtual |
|
pure virtual |
Message sender rank See also destRank() for interpretation based on the value of isSend().
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
References origRank().
Referenced by origRank().
|
pure virtual |
Serializer.
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
References serializer().
Referenced by Arcane::Parallel::VariableParallelOperationBase::applyOperation(), and serializer().
|
pure virtual |
Sets the sending/receiving strategy.
The strategy used must be the same for the sent message and the receive message, otherwise the behavior is undefined.
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
References setStrategy(), and strategy().
Referenced by setStrategy().
|
pure virtual |
Message sender rank.
See also destination() for interpretation based on the value of isSend()
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
References source().
Referenced by source().
|
pure virtual |
Strategy used for sends/receives.
Implemented in Arcane::MessagePassing::BasicSerializeMessage, Arcane::MessagePassing::internal::BasicSerializeMessage, Arccore::MessagePassing::internal::BasicSerializeMessage, and Arccore::MessagePassing::Mpi::BasicSerializeMessage.
References strategy().
Referenced by setStrategy(), and strategy().