Arcane  v3.16.4.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::VariableSynchronizerMng::InternalApi::BufferList

Gère un pool de buffer associé à un allocateur. Plus de détails...

+ Graphe de collaboration de Arcane::VariableSynchronizerMng::InternalApi::BufferList:

Types publics

using MemoryBufferMap = std::map<MemoryBuffer*, Ref<MemoryBuffer>>
 
using MapList = std::map<IMemoryAllocator*, MemoryBufferMap>
 
using FreeList = std::map<IMemoryAllocator*, std::stack<Ref<MemoryBuffer>>>
 

Fonctions membres publiques

Ref< MemoryBuffercreateSynchronizeBuffer (IMemoryAllocator *allocator)
 
void releaseSynchronizeBuffer (IMemoryAllocator *allocator, MemoryBuffer *v)
 
void dumpStats (std::ostream &ostr) const
 

Attributs privés

MapList m_used_map
 Liste par allocateur des buffers en cours d'utilisation.
 
FreeList m_free_map
 Liste par allocateur des buffers libres.
 
std::mutex m_mutex
 Mutex pour protéger la création/récupération des buffers.
 

Description détaillée

Gère un pool de buffer associé à un allocateur.

Les méthodes de cette classe sont thread-safe.

Définition à la ligne 301 du fichier VariableSynchronizerMng.cc.

Documentation des définitions de type membres

◆ FreeList

using Arcane::VariableSynchronizerMng::InternalApi::BufferList::FreeList = std::map<IMemoryAllocator*, std::stack<Ref<MemoryBuffer>>>

Définition à la ligne 308 du fichier VariableSynchronizerMng.cc.

◆ MapList

using Arcane::VariableSynchronizerMng::InternalApi::BufferList::MapList = std::map<IMemoryAllocator*, MemoryBufferMap>

Définition à la ligne 306 du fichier VariableSynchronizerMng.cc.

◆ MemoryBufferMap

using Arcane::VariableSynchronizerMng::InternalApi::BufferList::MemoryBufferMap = std::map<MemoryBuffer*, Ref<MemoryBuffer>>

Définition à la ligne 305 du fichier VariableSynchronizerMng.cc.

Documentation des fonctions membres

◆ createSynchronizeBuffer()

Ref< MemoryBuffer > Arcane::VariableSynchronizerMng::InternalApi::BufferList::createSynchronizeBuffer ( IMemoryAllocator * allocator)

Définition à la ligne 338 du fichier VariableSynchronizerMng.cc.

◆ dumpStats()

void Arcane::VariableSynchronizerMng::InternalApi::BufferList::dumpStats ( std::ostream & ostr) const

Liste par allocateur des buffers en cours d'utilisation

Liste par allocateur des buffers libres

Définition à la ligne 397 du fichier VariableSynchronizerMng.cc.

Références m_free_map, m_mutex, et m_used_map.

◆ releaseSynchronizeBuffer()

void Arcane::VariableSynchronizerMng::InternalApi::BufferList::releaseSynchronizeBuffer ( IMemoryAllocator * allocator,
MemoryBuffer * v )

Définition à la ligne 372 du fichier VariableSynchronizerMng.cc.

Documentation des données membres

◆ m_free_map

FreeList Arcane::VariableSynchronizerMng::InternalApi::BufferList::m_free_map
private

Liste par allocateur des buffers libres.

Définition à la ligne 322 du fichier VariableSynchronizerMng.cc.

Référencé par dumpStats().

◆ m_mutex

std::mutex Arcane::VariableSynchronizerMng::InternalApi::BufferList::m_mutex
mutableprivate

Mutex pour protéger la création/récupération des buffers.

Définition à la ligne 325 du fichier VariableSynchronizerMng.cc.

Référencé par dumpStats().

◆ m_used_map

MapList Arcane::VariableSynchronizerMng::InternalApi::BufferList::m_used_map
private

Liste par allocateur des buffers en cours d'utilisation.

Définition à la ligne 319 du fichier VariableSynchronizerMng.cc.

Référencé par dumpStats().


La documentation de cette classe a été générée à partir du fichier suivant :