source: XIOS3/dev/XIOS_ATTACHED/src/transport/online_context_client.hpp @ 2482

Last change on this file since 2482 was 2482, checked in by ymipsl, 15 months ago

First guess in supression of attached mode replaced by online reader and write filters

YM

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1#ifndef __ONLINE_CONTEXT_CLIENT_HPP__
2#define __ONLINE_CONTEXT_CLIENT_HPP__
3
4#include "xios_spl.hpp"
5#include "buffer_out.hpp"
6#include "buffer_in.hpp"
7#include "buffer_client.hpp"
8#include "event_client.hpp"
9#include "event_server.hpp"
10#include "mpi.hpp"
11#include "registry.hpp"
12#include "context_client.hpp"
13
14namespace xios
15{
16  class CContext;
17  class CContextServer ;
18  /*!
19  \class CLegacyContextClient
20  A context can be both on client and on server side. In order to differenciate the role of
21  context on each side, e.x client sending events, server receiving and processing events, there is a need of
22  concrete "context" classes for both sides.
23  CLegacyContextClient processes and sends events from client to server where CContextServer receives these events
24  and processes them.
25  */
26  class COnlineContextClient : public CContextClient
27  {
28    public:
29      // Contructor
30      COnlineContextClient(CContext* parent, MPI_Comm intraComm, MPI_Comm interComm, CContext* parentServer = 0):
31                          CContextClient(parent, intraComm, interComm, parentServer) {}
32
33      // Send event to server
34      ETransport getType(void) { return online ;}
35     
36      void sendEvent(CEventClient& event) { ERROR("void COnlineContextClient::sendEvent(CEventClient& event)",<< "this method may not be called") ;}
37      void eventLoop(void) { ERROR("void COnlineContextClient::eventLoop(void)",<< "this method may not be called") ;}
38      void releaseBuffers(void) { ERROR("void COnlineContextClient::releaseBuffers(void)",<< "this method may not be called") ;}
39      bool havePendingRequests(void) { ERROR(" bool COnlineContextClient::havePendingRequests(void)",<< "this method may not be called") ; return false ;}
40
41      bool isNotifiedFinalized(void) { ERROR("bool COnlineContextClient::isNotifiedFinalized(void)",<< "this method may not be called") ;return false ;}
42      void finalize(void) { ERROR("void COnlineContextClient::finalize(void)",<< "this method may not be called") ;}
43
44      void setBufferSize(const std::map<int,StdSize>& mapSize) { ERROR("void setBufferSize(const std::map<int,StdSize>& mapSize)",<< "this method may not be called") ;}
45
46
47    private:
48
49  };
50}
51
52#endif // __Online_CONTEXT_CLIENT_HPP__
Note: See TracBrowser for help on using the repository browser.