source: XIOS3/branches/xios-3.0-beta/src/event_server.hpp @ 2521

Last change on this file since 2521 was 2343, checked in by ymipsl, 2 years ago
  • Implement new infrastructure for transfert protocol.
  • new purelly one sided protocol is now available, the previous protocol (legacy, mix send/recv and one sided) is still available. Other specific protocol could be implemented more easilly in future.
  • switch can be operate with "transport_protocol" variable in XIOS context :

ex:
<variable id="transport_protocol" type="string">one_sided</variable>

Available protocols are : one_sided, legacy or default. The default protocol is "legacy".

YM

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
File size: 884 bytes
Line 
1#ifndef __EVENT_SERVER_HPP__
2#define __EVENT_SERVER_HPP__
3
4#include "xios_spl.hpp"
5#include "buffer_in.hpp"
6#include "buffer_server.hpp"
7
8namespace xios
9{
10  class CContextServer ;
11
12  class CEventServer
13  {
14    public:
15   
16    int classId ;
17    int type ;
18    int nbSender ;
19
20    CEventServer(CContextServer* contextServer) : contextServer_(contextServer) {}
21
22    void push(int rank,CServerBuffer* serverBuffer ,char* startBuffer,int size) ;
23    int getNbSender(void) {return nbSender ;}
24
25    CContextServer* getContextServer(void) { return contextServer_ ;}
26   
27    struct SSubEvent
28    {
29      int rank ;
30      char* startBuffer ;
31      CServerBuffer* serverBuffer ;
32      CBufferIn*  buffer ;
33      int size ;
34    } ;
35   
36    list<SSubEvent> subEvents ;   
37   
38    bool isFull(void) ;
39    ~CEventServer() ; 
40    private :
41
42    CContextServer* contextServer_ ;
43  } ;
44
45}
46
47#endif
Note: See TracBrowser for help on using the repository browser.