13#ifndef ARCANE_IMPL_INTERNAL_VARIABLESYNCHRONIZERMNG_H
14#define ARCANE_IMPL_INTERNAL_VARIABLESYNCHRONIZERMNG_H
18#include "arcane/utils/TraceAccessor.h"
21#include "arcane/core/IVariableSynchronizerMng.h"
22#include "arcane/core/internal/IVariableSynchronizerMngInternal.h"
39class ARCANE_IMPL_EXPORT VariableSynchronizerMng
46 ~VariableSynchronizerMng();
58 explicit InternalApi(VariableSynchronizerMng* vms);
68 void dumpStats(std::ostream& ostr)
const;
72 VariableSynchronizerMng* m_synchronizer_mng =
nullptr;
73 std::unique_ptr<BufferList> m_buffer_list;
86 return m_on_synchronized;
93 void dumpStats(std::ostream& ostr)
const override;
94 void flushPendingStats()
override;
96 bool isDoingStats()
const {
return m_is_doing_stats || m_synchronize_compare_level > 0; }
100 IVariableMng* m_variable_mng =
nullptr;
101 IParallelMng* m_parallel_mng =
nullptr;
102 InternalApi m_internal_api{
this };
103 EventObservable<const VariableSynchronizerEventArgs&> m_on_synchronized;
104 VariableSynchronizerStats* m_stats =
nullptr;
105 Int32 m_synchronize_compare_level = 0;
106 bool m_is_doing_stats =
false;
File containing event management mechanisms.
Base class for an event handler.
Interface for a memory allocator.
Interface of the parallelism manager for a subdomain.
Variable manager interface.
Internal Arcane API for IVariableSynchronizerMng.
Interface of the variable synchronization manager.
Management of a memory buffer.
Reference to an instance.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
Manages a pool of buffers associated with an allocator.
void setSynchronizationCompareLevel(Int32 v) final
Sets the comparison level between values before and after synchronization.
bool isSynchronizationComparisonEnabled() const final
Indicates whether comparisons of values before and after synchronization are performed.
EventObservable< const VariableSynchronizerEventArgs & > & onSynchronized() override
Event sent at the beginning and end of synchronization.
Int32 synchronizationCompareLevel() const final
Comparison level of values before and after synchronization.
IParallelMng * parallelMng() const override
Associated parallelism manager.
Synchronization statistics.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Signed integer type of 32 bits.