Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::MessagePassing::PointToPointSerializerMng Class Reference

Point-to-point communications using 'ISerializer'. More...

#include <arccore/message_passing/PointToPointSerializerMng.h>

Classes

class  Impl

Public Member Functions

 PointToPointSerializerMng (IMessagePassingMng *mpm)
 PointToPointSerializerMng (const PointToPointSerializerMng &)=delete
PointToPointSerializerMng & operator= (const PointToPointSerializerMng &)=delete
IMessagePassingMngmessagePassingMng () const
 Associated message manager.
void processPendingMessages ()
 Sends the messages from the list that have not yet been processed.
Integer waitMessages (eWaitType wt, std::function< void(ISerializeMessage *)> functor)
 Waits for the messages to finish execution.
bool hasMessages () const
 Indicates if there are remaining messages that have not yet finished.
Ref< ISerializeMessageaddReceiveMessage (MessageRank sender_rank)
 Creates a receiving serialization message.
Ref< ISerializeMessageaddReceiveMessage (MessageId message_id)
 Creates a receiving serialization message.
Ref< ISerializeMessageaddSendMessage (MessageRank receiver_rank)
 Creates a sending serialization message.
void setDefaultTag (MessageTag default_tag)
 Default tag used for messages.
void setStrategy (ISerializeMessage::eStrategy strategy)
 Strategy used for messages.

Detailed Description

Point-to-point communications using 'ISerializer'.

Definition at line 39 of file PointToPointSerializerMng.h.

Constructor & Destructor Documentation

◆ PointToPointSerializerMng()

Arcane::MessagePassing::PointToPointSerializerMng::PointToPointSerializerMng ( IMessagePassingMng * mpm)

Definition at line 93 of file PointToPointSerializerMng.cc.

◆ ~PointToPointSerializerMng()

Arcane::MessagePassing::PointToPointSerializerMng::~PointToPointSerializerMng ( )

Definition at line 102 of file PointToPointSerializerMng.cc.

Member Function Documentation

◆ addReceiveMessage() [1/2]

Ref< ISerializeMessage > Arcane::MessagePassing::PointToPointSerializerMng::addReceiveMessage ( MessageId message_id)

Creates a receiving serialization message.

sender_rank is the rank of the sender of the corresponding message. It is possible to specify a null rank to indicate that one wishes to receive from anyone.

Definition at line 191 of file PointToPointSerializerMng.cc.

◆ addReceiveMessage() [2/2]

Ref< ISerializeMessage > Arcane::MessagePassing::PointToPointSerializerMng::addReceiveMessage ( MessageRank sender_rank)

Creates a receiving serialization message.

sender_rank is the rank of the sender of the corresponding message. It is possible to specify a null rank to indicate that one wishes to receive from anyone.

Definition at line 180 of file PointToPointSerializerMng.cc.

◆ addSendMessage()

Ref< ISerializeMessage > Arcane::MessagePassing::PointToPointSerializerMng::addSendMessage ( MessageRank receiver_rank)

Creates a sending serialization message.

Definition at line 169 of file PointToPointSerializerMng.cc.

◆ hasMessages()

bool Arcane::MessagePassing::PointToPointSerializerMng::hasMessages ( ) const

Indicates if there are remaining messages that have not yet finished.

Definition at line 138 of file PointToPointSerializerMng.cc.

Referenced by setDefaultTag(), and setStrategy().

◆ messagePassingMng()

IMessagePassingMng * Arcane::MessagePassing::PointToPointSerializerMng::messagePassingMng ( ) const

Associated message manager.

Definition at line 111 of file PointToPointSerializerMng.cc.

◆ processPendingMessages()

void Arcane::MessagePassing::PointToPointSerializerMng::processPendingMessages ( )

Sends the messages from the list that have not yet been processed.

It is generally not necessary to call this method because it is done automatically when calling waitMessages().

Definition at line 120 of file PointToPointSerializerMng.cc.

◆ setDefaultTag()

void Arcane::MessagePassing::PointToPointSerializerMng::setDefaultTag ( MessageTag default_tag)

Default tag used for messages.

This method can only be called if there are no messages currently in progress (hasMessages()==false). All ranks of messagePassingMng() must use the same tag.

Definition at line 147 of file PointToPointSerializerMng.cc.

References ARCCORE_FATAL, and hasMessages().

◆ setStrategy()

void Arcane::MessagePassing::PointToPointSerializerMng::setStrategy ( ISerializeMessage::eStrategy strategy)

Strategy used for messages.

This method can only be called if there are no messages currently in progress (hasMessages()==false). All ranks of messagePassingMng() must use the same strategy.

Definition at line 158 of file PointToPointSerializerMng.cc.

References ARCCORE_FATAL, and hasMessages().

◆ waitMessages()

Integer Arcane::MessagePassing::PointToPointSerializerMng::waitMessages ( eWaitType wt,
std::function< void(ISerializeMessage *)> functor )

Waits for the messages to finish execution.

The wait type is specified by wt.

Returns
the number of messages completely executed or (-1) if they all have been.

Definition at line 129 of file PointToPointSerializerMng.cc.


The documentation for this class was generated from the following files: