source: XMLIO_V2/dev/common/src/xmlio/buffer_list.hpp @ 286

Last change on this file since 286 was 286, checked in by ymipsl, 13 years ago

reprise en main de la version de H. Ozdoba. Correction de différentes erreurs de conception et bug.
Version NEMO operationnel en client/server, interoperabilita avec OASIS, reconstition de fichiers via netcdf4/HDF5

YM

File size: 1.5 KB
Line 
1#ifndef __XMLIO_CBufferList__
2#define __XMLIO_CBufferList__
3
4/// xmlioserver headers ///
5#include "xmlioserver_spl.hpp"
6#include "buffer.hpp"
7#include "circular_buffer.hpp"
8#include "linear_buffer.hpp"
9#include "mpi_manager.hpp"
10
11namespace xmlioserver
12{
13   namespace comm
14   {
15      /// ////////////////////// Déclarations ////////////////////// ///
16      class CBufferList
17         : public std::vector<CCircularBuffer>   // << pas une liste
18      {
19
20            /// Définition de type ///
21            typedef std::vector<CCircularBuffer> SuperClass;
22            typedef CCircularBuffer BufferType;
23
24         public :
25
26            /// Construteurs ///
27            CBufferList(MPI_Comm com_client_server = CMPIManager::GetCommWorld());
28            CBufferList(const CBufferList & buffer_list);         // Not implemented yet.
29            CBufferList(const CBufferList * const buffer_list);   // Not implemented yet.
30
31            /// Test ///
32            bool hasRequests(void) const;
33
34            /// Traitement ///
35            bool recvRequests(void);
36
37            /// Accesseurs ///
38            StdSize getNumberOfBuffers(void) const;
39            void getRequests(std::vector<CLinearBuffer> & lbuffer);
40
41            /// Destructeur ///
42            virtual ~CBufferList(void);
43
44
45         private :
46
47            MPI_Comm com_client_server;
48            StdSize nbbuffer;
49
50      }; // class CBufferList
51   } // namespace comm
52} // namespace xmlioserver
53
54#endif // __XMLIO_CBufferList__
Note: See TracBrowser for help on using the repository browser.