Arcane
v3.14.10.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-2022 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-2020 */
9
/* */
10
/* Message utilisant un SerializeBuffer. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_SERIALIZEMESSAGE_H
13
#define ARCANE_SERIALIZEMESSAGE_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arccore/message_passing/BasicSerializeMessage.h"
18
#include "arcane/SerializeBuffer.h"
19
20
/*---------------------------------------------------------------------------*/
21
/*---------------------------------------------------------------------------*/
22
23
namespace
Arcane
24
{
25
using namespace
Arccore::MessagePassing
;
26
using namespace
Arccore::MessagePassing::internal;
27
28
/*---------------------------------------------------------------------------*/
29
/*---------------------------------------------------------------------------*/
30
/*!
31
* \internal
32
* \brief Message utilisant un SerializeBuffer.
33
*
34
* Un message consiste en une série d'octets envoyés d'un rang
35
* (origRank()) à un autre (destRank()). Si isSend() est vrai,
36
* c'est origRank() qui envoie à destRank(), sinon c'est l'inverse.
37
* S'il s'agit d'un message de réception, le serializer() est alloué
38
* et remplit automatiquement.
39
*
40
* Pour que le parallélisme fonctionne correctement, il faut qu'un message
41
* complémentaire à celui-ci soit envoyé par destRank().
42
*/
43
class
ARCANE_CORE_EXPORT
SerializeMessage
44
:
public
BasicSerializeMessage
45
{
46
public
:
47
SerializeMessage
(
Int32
orig_rank,
Int32
dest_rank,eMessageType mtype);
48
SerializeMessage
(
Int32
orig_rank,
MessageId
message_id);
49
public
:
50
ARCCORE_DEPRECATED_2020(
"Use BasicSerializeMessage::serializer() instead"
)
51
SerializeBuffer
& buffer()
52
{
53
// Comme c'est cette classe qui a créé le serializer(), on est certain
54
// que la conversion est valide.
55
Arccore::BasicSerializer
& x = BasicSerializeMessage::buffer();
56
return
static_cast<
SerializeBuffer
&
>
(x);
57
}
58
};
59
60
/*---------------------------------------------------------------------------*/
61
/*---------------------------------------------------------------------------*/
62
63
}
// End namespace Arcane
64
65
/*---------------------------------------------------------------------------*/
66
/*---------------------------------------------------------------------------*/
67
68
#endif
69
Arcane::SerializeBuffer
Definition
SerializeBuffer.h:42
Arcane::SerializeMessage
Definition
SerializeMessage.h:45
Arccore::BasicSerializer
Definition
BasicSerializer.h:87
Arccore::MessagePassing::MessageId
MessageId.
Definition
MessageId.h:42
Arccore::MessagePassing::internal::BasicSerializeMessage
Definition
BasicSerializeMessage.h:50
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AbstractCaseDocumentVisitor.cc:20
Arccore::MessagePassing
Espace de nommage contenant les types et déclarations qui gèrent le mécanisme de parallélisme par éch...
Definition
BasicSerializeMessage.cc:22
Arccore::Int32
std::int32_t Int32
Type entier signé sur 32 bits.
Definition
ArccoreGlobal.h:184
arcane
core
SerializeMessage.h
Généré le Lundi 18 Novembre 2024 02:56:50 pour Arcane par
1.9.8