Information for sending/receiving a point-to-point message. More...
Public Types | |
| enum class | Type { T_RankTag , T_MessageId , T_Null } |
Public Member Functions | |
| PointToPointMessageInfo () | |
| Null message. | |
| PointToPointMessageInfo (MessageRank dest_rank) | |
| Blocking message with default tag and destination rank rank. | |
| PointToPointMessageInfo (MessageRank dest_rank, eBlockingType blocking_type) | |
| Message with default tag, destination dest_rank, and blocking. | |
| PointToPointMessageInfo (MessageRank dest_rank, MessageTag tag) | |
| Blocking message with tag tag and destination rank. | |
| PointToPointMessageInfo (MessageRank dest_rank, MessageTag tag, eBlockingType blocking_type) | |
| Message with tag tag, destination dest_rank, and blocking. | |
| PointToPointMessageInfo (MessageId message_id) | |
| Blocking message associated with message_id. | |
| PointToPointMessageInfo (MessageId message_id, eBlockingType blocking_type) | |
| Message associated with message_id with blocking mode blocking_type. | |
| PointToPointMessageInfo (MessageRank emiter_rank, MessageRank dest_rank, eBlockingType blocking_type) | |
| Message with default tag and source emiter_rank, destination dest_rank, and blocking mode blocking_type. | |
| PointToPointMessageInfo (MessageRank emiter_rank, MessageRank dest_rank, MessageTag tag) | |
| Blocking message with tag tag, source emiter_rank, and destination rank. | |
| PointToPointMessageInfo (MessageRank emiter_rank, MessageRank dest_rank) | |
| Blocking message with default tag, source emiter_rank, and destination dest_rank. | |
| PointToPointMessageInfo (MessageRank emiter_rank, MessageRank dest_rank, MessageTag tag, eBlockingType blocking_type) | |
| Message with tag tag, source emiter_rank, destination dest_rank, and blocking mode blocking_type. | |
| PointToPointMessageInfo & | setBlocking (bool is_blocking) |
| bool | isBlocking () const |
| Indicates if the message is blocking. | |
| bool | isMessageId () const |
| True if the instance was created with a MessageId. In this case messageId() is valid. | |
| bool | isRankTag () const |
| True if the instance was created with a pair (rank,tag). In this case rank() and tag() are valid. | |
| MessageId | messageId () const |
| Message identifier. | |
| void | setMessageId (const MessageId &message_id) |
| Positions the message identifier and changes the message type. | |
| void | setRankTag (MessageRank rank, MessageTag tag) |
| Positions the message destination rank and tag and changes the message type. | |
| MessageRank | destinationRank () const |
| Message destination rank. | |
| void | setDestinationRank (MessageRank rank) |
| Positions the message destination rank. | |
| MessageRank | emiterRank () const |
| Message sender rank. | |
| void | setEmiterRank (MessageRank rank) |
| Positions the message sender rank. | |
| MessageTag | tag () const |
| Message tag. | |
| void | setTag (MessageTag tag) |
| Positions the message tag. | |
| void | print (std::ostream &o) const |
| Prints the message. | |
| bool | isValid () const |
| MessageRank | sourceRank () const |
| Message origin rank. | |
| void | setSourceRank (MessageRank rank) |
| Positions the message origin rank. | |
Private Member Functions | |
| void | _setInfosFromMessageId () |
Private Attributes | |
| MessageRank | m_emiter_rank |
| MessageRank | m_destination_rank |
| MessageTag | m_tag = MessageTag::defaultTag() |
| MessageId | m_message_id |
| bool | m_is_blocking = true |
| Type | m_type = Type::T_Null |
Friends | |
| std::ostream & | operator<< (std::ostream &o, const PointToPointMessageInfo &pmessage) |
Information for sending/receiving a point-to-point message.
There are two ways to construct an instance of this class:
It is possible to specify whether the message will be blocking during construction or via the call to setBlocking(). By default, a message is created in blocking mode.
The sender (emiterRank()) of the message is the sender and the destination (destinationRank()) is the receiver. For a send message (mpSend()), destinationRank() is therefore the rank of the one who will receive the message. For a receive message (mpReceive()), destinationRank() is the rank of the one from whom we wish to receive the message or A_NULL_RANK if we wish to receive from anyone.
Definition at line 55 of file PointToPointMessageInfo.h.
|
strong |
Definition at line 59 of file PointToPointMessageInfo.h.
|
inline |
Null message.
Definition at line 69 of file PointToPointMessageInfo.h.
Referenced by PointToPointMessageInfo(), PointToPointMessageInfo(), and PointToPointMessageInfo().
|
inlineexplicit |
Blocking message with default tag and destination rank rank.
Definition at line 72 of file PointToPointMessageInfo.h.
|
inline |
Message with default tag, destination dest_rank, and blocking.
Definition at line 79 of file PointToPointMessageInfo.h.
|
inline |
Blocking message with tag tag and destination rank.
Definition at line 86 of file PointToPointMessageInfo.h.
References tag().
|
inline |
Message with tag tag, destination dest_rank, and blocking.
Definition at line 94 of file PointToPointMessageInfo.h.
References tag().
|
inlineexplicit |
Blocking message associated with message_id.
Definition at line 102 of file PointToPointMessageInfo.h.
|
inline |
Message associated with message_id with blocking mode blocking_type.
Definition at line 110 of file PointToPointMessageInfo.h.
|
inline |
Message with default tag and source emiter_rank, destination dest_rank, and blocking mode blocking_type.
Definition at line 125 of file PointToPointMessageInfo.h.
References PointToPointMessageInfo().
|
inline |
Blocking message with tag tag, source emiter_rank, and destination rank.
Definition at line 134 of file PointToPointMessageInfo.h.
References PointToPointMessageInfo(), and tag().
|
inline |
Blocking message with default tag, source emiter_rank, and destination dest_rank.
Definition at line 143 of file PointToPointMessageInfo.h.
References PointToPointMessageInfo().
|
inline |
Message with tag tag, source emiter_rank, destination dest_rank, and blocking mode blocking_type.
Definition at line 156 of file PointToPointMessageInfo.h.
References tag().
|
inlineprivate |
Definition at line 263 of file PointToPointMessageInfo.h.
|
inline |
Message destination rank.
Definition at line 196 of file PointToPointMessageInfo.h.
Referenced by Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::receiveSerializer().
|
inline |
Message sender rank.
Definition at line 207 of file PointToPointMessageInfo.h.
|
inline |
Indicates if the message is blocking.
Definition at line 172 of file PointToPointMessageInfo.h.
Referenced by Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::receiveSerializer().
|
inline |
True if the instance was created with a MessageId. In this case messageId() is valid.
Definition at line 174 of file PointToPointMessageInfo.h.
Referenced by Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::receiveSerializer().
|
inline |
True if the instance was created with a pair (rank,tag). In this case rank() and tag() are valid.
Definition at line 176 of file PointToPointMessageInfo.h.
Referenced by Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::receiveSerializer().
|
inline |
Definition at line 233 of file PointToPointMessageInfo.h.
|
inline |
Message identifier.
Definition at line 178 of file PointToPointMessageInfo.h.
Referenced by Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::receiveSerializer().
| void Arcane::MessagePassing::PointToPointMessageInfo::print | ( | std::ostream & | o | ) | const |
Prints the message.
Definition at line 27 of file PointToPointMessageInfo.cc.
|
inline |
Definition at line 166 of file PointToPointMessageInfo.h.
|
inline |
Positions the message destination rank.
Definition at line 198 of file PointToPointMessageInfo.h.
Referenced by setRankTag().
|
inline |
Positions the message sender rank.
Definition at line 209 of file PointToPointMessageInfo.h.
Referenced by Arcane::MessagePassing::HybridParallelMng::legacyProbe(), Arcane::MessagePassing::SharedMemoryParallelMng::legacyProbe(), Arcane::MessagePassing::HybridParallelMng::probe(), and Arcane::MessagePassing::SharedMemoryParallelMng::probe().
|
inline |
Positions the message identifier and changes the message type.
Definition at line 180 of file PointToPointMessageInfo.h.
|
inline |
Positions the message destination rank and tag and changes the message type.
Definition at line 187 of file PointToPointMessageInfo.h.
References setDestinationRank(), setTag(), and tag().
|
inline |
Positions the message origin rank.
Definition at line 252 of file PointToPointMessageInfo.h.
References setSourceRank().
Referenced by setSourceRank().
|
inline |
Positions the message tag.
Definition at line 214 of file PointToPointMessageInfo.h.
References tag().
Referenced by setRankTag().
|
inline |
Message origin rank.
Definition at line 248 of file PointToPointMessageInfo.h.
References sourceRank().
Referenced by sourceRank().
|
inline |
Message tag.
Definition at line 212 of file PointToPointMessageInfo.h.
Referenced by PointToPointMessageInfo(), PointToPointMessageInfo(), PointToPointMessageInfo(), PointToPointMessageInfo(), Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::receiveSerializer(), setRankTag(), and setTag().
|
friend |
Definition at line 224 of file PointToPointMessageInfo.h.
|
private |
Definition at line 257 of file PointToPointMessageInfo.h.
|
private |
Definition at line 256 of file PointToPointMessageInfo.h.
|
private |
Definition at line 260 of file PointToPointMessageInfo.h.
|
private |
Definition at line 259 of file PointToPointMessageInfo.h.
|
private |
Definition at line 258 of file PointToPointMessageInfo.h.
|
private |
Definition at line 261 of file PointToPointMessageInfo.h.