12#ifndef ARCANE_PARALLEL_THREAD_ISHAREDMEMORYMESSAGEQUEUE_H
13#define ARCANE_PARALLEL_THREAD_ISHAREDMEMORYMESSAGEQUEUE_H
17#include "arcane/utils/MemoryView.h"
19#include "arcane/parallel/thread/ArcaneThread.h"
20#include "arcane/Parallel.h"
22#include "arcane/ArcaneTypes.h"
31using ByteSpan = Arccore::ByteSpan;
32using ByteConstSpan = Arccore::ByteConstSpan;
41class ARCANE_THREAD_EXPORT SendBufferInfo
44 SendBufferInfo() =
default;
45 SendBufferInfo(ConstMemoryView memory_buffer)
46 : m_memory_buffer(memory_buffer){}
48 : m_serializer(serializer){}
50 ByteConstSpan memoryBuffer() {
return m_memory_buffer.bytes(); }
51 const ISerializer* serializer() {
return m_serializer; }
54 ConstMemoryView m_memory_buffer;
65class ARCANE_THREAD_EXPORT ReceiveBufferInfo
68 ReceiveBufferInfo() =
default;
69 explicit ReceiveBufferInfo(MutableMemoryView memory_buffer)
70 : m_memory_buffer(memory_buffer){}
72 : m_serializer(serializer){}
74 ByteSpan memoryBuffer() {
return m_memory_buffer.bytes(); }
77 MutableMemoryView m_memory_buffer;
100 virtual void init(
Integer nb_thread) =0;
Déclarations des types de la composante 'base' de Arccore.
Vue modifiable d'un tableau d'un type T.
Interface d'un sérialiseur.
Interface du gestionnaire de traces.
Interface d'un créateur de requête.
Interface d'une file de messages avec les threads.
Informations sur la source d'un message.
Informations pour envoyer/recevoir un message point à point.
Informations des buffers de réception.
Informations des buffers d'envoie.
Déclarations des types et méthodes utilisés par les mécanismes d'échange de messages.
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.