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
23namespace 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 */
41class ARCANE_CORE_EXPORT SerializeMessage
43{
44 public:
45 SerializeMessage(Int32 orig_rank,Int32 dest_rank,eMessageType mtype);
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
Référence à une instance.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-