Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::DataSynchronizeDispatcher Class Reference

Manages synchronization for a data item. More...

Inheritance diagram for Arcane::DataSynchronizeDispatcher:
Collaboration diagram for Arcane::DataSynchronizeDispatcher:

Public Member Functions

 DataSynchronizeDispatcher (const DataSynchronizeDispatcherBuildInfo &bi)
void compute () override
 Recalculates the necessary information after an update to the DataSynchronizeInfo.
void setSynchronizeBuffer (Ref< MemoryBuffer > buffer) override
 Positions the synchronization buffer.
void beginSynchronize (INumericDataInternal *data, bool is_compare_sync) override
 Starts the execution for synchronization for the data data.
DataSynchronizeResult endSynchronize () override
 Ends the synchronization.
Public Member Functions inherited from Arcane::DataSynchronizeDispatcherBase
 DataSynchronizeDispatcherBase (const DataSynchronizeDispatcherBuildInfo &bi)

Private Member Functions

 ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS ()
Private Member Functions inherited from Arcane::ReferenceCounterImpl
void addReference ()
void removeReference ()
void _internalAddReference ()
bool _internalRemoveReference ()

Private Attributes

SingleDataSynchronizeBuffer m_sync_buffer
 Manages send and receive buffers for synchronization.
bool m_is_in_sync = false
bool m_is_empty_sync = false

Additional Inherited Members

Static Public Member Functions inherited from Arcane::IDataSynchronizeDispatcher
static Ref< IDataSynchronizeDispatchercreate (const DataSynchronizeDispatcherBuildInfo &build_info)
Protected Member Functions inherited from Arcane::DataSynchronizeDispatcherBase
void _compute ()
 Notifies the implementation that the synchronization information has changed.
Protected Attributes inherited from Arcane::DataSynchronizeDispatcherBase
IParallelMngm_parallel_mng = nullptr
Runnerm_runner = nullptr
Ref< DataSynchronizeInfom_sync_info
Ref< IDataSynchronizeImplementationm_synchronize_implementation

Detailed Description

Manages synchronization for a data item.

Definition at line 118 of file DataSynchronizeDispatcher.cc.

Constructor & Destructor Documentation

◆ DataSynchronizeDispatcher()

Arcane::DataSynchronizeDispatcher::DataSynchronizeDispatcher ( const DataSynchronizeDispatcherBuildInfo & bi)
inlineexplicit

Definition at line 127 of file DataSynchronizeDispatcher.cc.

Member Function Documentation

◆ beginSynchronize()

void Arcane::DataSynchronizeDispatcher::beginSynchronize ( INumericDataInternal * data,
bool is_compare_sync )
overridevirtual

Starts the execution for synchronization for the data data.

Implements Arcane::IDataSynchronizeDispatcher.

Definition at line 154 of file DataSynchronizeDispatcher.cc.

References ARCANE_CHECK_POINTER, ARCANE_FATAL, Arcane::MutableMemoryView::bytes(), m_sync_buffer, and Arcane::INumericDataInternal::memoryView().

Here is the call graph for this function:

◆ compute()

void Arcane::DataSynchronizeDispatcher::compute ( )
inlineoverridevirtual

Recalculates the necessary information after an update to the DataSynchronizeInfo.

Implements Arcane::IDataSynchronizeDispatcher.

Definition at line 135 of file DataSynchronizeDispatcher.cc.

References Arcane::DataSynchronizeDispatcherBase::_compute().

Here is the call graph for this function:

◆ endSynchronize()

DataSynchronizeResult Arcane::DataSynchronizeDispatcher::endSynchronize ( )
overridevirtual

Ends the synchronization.

beginSynchronize() must have been called before.

Implements Arcane::IDataSynchronizeDispatcher.

Definition at line 176 of file DataSynchronizeDispatcher.cc.

References ARCANE_FATAL, and m_sync_buffer.

◆ setSynchronizeBuffer()

void Arcane::DataSynchronizeDispatcher::setSynchronizeBuffer ( Ref< MemoryBuffer > buffer)
inlineoverridevirtual

Positions the synchronization buffer.

You must call this method before beginSynchronize(). The buffer must not be modified before calling endSynchronize()

Implements Arcane::IDataSynchronizeDispatcher.

Definition at line 136 of file DataSynchronizeDispatcher.cc.

References m_sync_buffer.

Member Data Documentation

◆ m_is_empty_sync

bool Arcane::DataSynchronizeDispatcher::m_is_empty_sync = false
private

Definition at line 145 of file DataSynchronizeDispatcher.cc.

◆ m_is_in_sync

bool Arcane::DataSynchronizeDispatcher::m_is_in_sync = false
private

Definition at line 144 of file DataSynchronizeDispatcher.cc.

◆ m_sync_buffer

SingleDataSynchronizeBuffer Arcane::DataSynchronizeDispatcher::m_sync_buffer
private

Manages send and receive buffers for synchronization.

Definition at line 143 of file DataSynchronizeDispatcher.cc.

Referenced by beginSynchronize(), endSynchronize(), and setSynchronizeBuffer().


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