Arcane
v3.15.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
SerializeMessage.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2025 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
// See the top-level COPYRIGHT file for details.
5
// SPDX-License-Identifier: Apache-2.0
6
//-----------------------------------------------------------------------------
7
/*---------------------------------------------------------------------------*/
8
/* SerializeMessage.h (C) 2000-2025 */
9
/* */
10
/* Message utilisant un SerializeBuffer. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_CORE_SERIALIZEMESSAGE_H
13
#define ARCANE_CORE_SERIALIZEMESSAGE_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arccore/message_passing/BasicSerializeMessage.h"
18
#include "arcane/core/SerializeBuffer.h"
19
20
/*---------------------------------------------------------------------------*/
21
/*---------------------------------------------------------------------------*/
22
23
namespace
Arcane
24
{
25
26
/*---------------------------------------------------------------------------*/
27
/*---------------------------------------------------------------------------*/
28
/*!
29
* \internal
30
* \brief Message utilisant un SerializeBuffer.
31
*
32
* Un message consiste en une série d'octets envoyés d'un rang
33
* (origRank()) à un autre (destRank()). Si isSend() est vrai,
34
* c'est origRank() qui envoie à destRank(), sinon c'est l'inverse.
35
* S'il s'agit d'un message de réception, le serializer() est alloué
36
* et remplit automatiquement.
37
*
38
* Pour que le parallélisme fonctionne correctement, il faut qu'un message
39
* complémentaire à celui-ci soit envoyé par destRank().
40
*/
41
class
ARCANE_CORE_EXPORT
SerializeMessage
42
:
public
MessagePassing::internal::BasicSerializeMessage
43
{
44
public
:
45
SerializeMessage
(Int32
orig_rank
,Int32
dest_rank
,eMessageType
mtype
);
46
SerializeMessage
(Int32
orig_rank
,
MessagePassing::MessageId
message_id
);
47
public
:
48
ARCCORE_DEPRECATED_2020(
"Use BasicSerializeMessage::serializer() instead"
)
49
SerializeBuffer
& buffer()
50
{
51
// Comme c'est cette classe qui a créé le serializer(), on est certain
52
// que la conversion est valide.
53
Arccore::BasicSerializer
& x = MessagePassing::internal::BasicSerializeMessage::buffer();
54
return
static_cast<
SerializeBuffer
&
>
(x);
55
}
56
};
57
58
/*---------------------------------------------------------------------------*/
59
/*---------------------------------------------------------------------------*/
60
61
}
// End namespace Arcane
62
63
/*---------------------------------------------------------------------------*/
64
/*---------------------------------------------------------------------------*/
65
66
#endif
67
Arcane::SerializeBuffer
Definition
SerializeBuffer.h:42
Arcane::SerializeMessage
Definition
SerializeMessage.h:43
Arccore::BasicSerializer
Definition
BasicSerializer.h:89
Arccore::MessagePassing::MessageId
MessageId.
Definition
MessageId.h:42
Arccore::MessagePassing::internal::BasicSerializeMessage
Definition
BasicSerializeMessage.h:50
Arccore::Ref
Référence à une instance.
Definition
arccore/src/base/arccore/base/Ref.h:143
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AbstractCaseDocumentVisitor.cc:20
arcane
core
SerializeMessage.h
Généré le Lundi 10 Février 2025 02:47:10 pour Arcane par
1.9.8