Gère un pool de buffer associé à un allocateur. Plus de détails...
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< MemoryBuffer > | createSynchronizeBuffer (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. | |
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.
using Arcane::VariableSynchronizerMng::InternalApi::BufferList::FreeList = std::map<IMemoryAllocator*, std::stack<Ref<MemoryBuffer>>> |
Définition à la ligne 308 du fichier VariableSynchronizerMng.cc.
using Arcane::VariableSynchronizerMng::InternalApi::BufferList::MapList = std::map<IMemoryAllocator*, MemoryBufferMap> |
Définition à la ligne 306 du fichier VariableSynchronizerMng.cc.
using Arcane::VariableSynchronizerMng::InternalApi::BufferList::MemoryBufferMap = std::map<MemoryBuffer*, Ref<MemoryBuffer>> |
Définition à la ligne 305 du fichier VariableSynchronizerMng.cc.
Ref< MemoryBuffer > Arcane::VariableSynchronizerMng::InternalApi::BufferList::createSynchronizeBuffer | ( | IMemoryAllocator * | allocator | ) |
Définition à la ligne 338 du fichier VariableSynchronizerMng.cc.
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.
void Arcane::VariableSynchronizerMng::InternalApi::BufferList::releaseSynchronizeBuffer | ( | IMemoryAllocator * | allocator, |
MemoryBuffer * | v ) |
Définition à la ligne 372 du fichier VariableSynchronizerMng.cc.
|
private |
Liste par allocateur des buffers libres.
Définition à la ligne 322 du fichier VariableSynchronizerMng.cc.
Référencé par dumpStats().
|
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().
|
private |
Liste par allocateur des buffers en cours d'utilisation.
Définition à la ligne 319 du fichier VariableSynchronizerMng.cc.
Référencé par dumpStats().