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"
31using ByteSpan = Arccore::ByteSpan;
32using ByteConstSpan = Arccore::ByteConstSpan;
42class ARCANE_THREAD_EXPORT SendBufferInfo
46 SendBufferInfo() =
default;
48 : m_memory_buffer(memory_buffer)
51 : m_serializer(serializer)
56 ByteConstSpan memoryBuffer() {
return m_memory_buffer.bytes(); }
57 const ISerializer* serializer() {
return m_serializer; }
73class ARCANE_THREAD_EXPORT ReceiveBufferInfo
77 ReceiveBufferInfo() =
default;
79 : m_memory_buffer(memory_buffer)
82 : m_serializer(serializer)
87 ByteSpan memoryBuffer() {
return m_memory_buffer.bytes(); }
116 virtual void init(
Integer nb_thread) = 0;
Declarations of Arcane's general types.
Declarations of types for the 'base' component of Arccore.
File containing declarations concerning the message passing model.
Modifiable view of an array of type T.
Constant view on a contiguous memory region containing fixed-size elements.
Interface for a request creator.
Interface of a message queue with threads.
Information about the source of a message.
Information for sending/receiving a point-to-point message.
Receive buffer information.
Mutable view on a contiguous memory region containing fixed-size elements.
Declarations of types and methods used by message exchange mechanisms.
Int32 Integer
Type representing an integer.
std::int32_t Int32
Signed integer type of 32 bits.