source: XIOS/dev/dev_ym/XIOS_COUPLING/src/filter/client_from_client_source_filter.hpp @ 2230

Last change on this file since 2230 was 1934, checked in by ymipsl, 4 years ago

Big update on on going work related to data distribution and transfer between clients and servers.
Revisite of the source and store filter using "connectors".

-> inputs work again

YM

  • Property svn:executable set to *
File size: 1.5 KB
Line 
1#ifndef __XIOS_CLIENT_FROM_CLIENT_SOURCE_FILTER__
2#define __XIOS_CLIENT_FROM_CLIENT_SOURCE_FILTER__
3
4#include "output_pin.hpp"
5#include "event_server.hpp"
6#include "calendar_util.hpp"
7
8namespace xios
9{
10  class CField;
11  class CGrid ;
12
13
14  /*!
15   * A source filter is the entry point of the data in the graph of filters.
16   */
17  class CClientFromClientSourceFilter : public COutputPin
18  {
19    public:
20      /*!
21       * Constructs a source filter accepting data attached to the specified grid.
22       *
23       * \param gc the garbage collector associated with this filter
24       * \param field the field which the filter aply
25       */
26      CClientFromClientSourceFilter(CGarbageCollector& gc, CField* field) ;
27                   
28      /*!
29       * Transforms the data received from the model into a packet and send it
30       * in the filter graph. The array containing the data can safely be reused
31       * immediately after this method returns.
32       *
33       * \param event the event associated to data reception
34       */
35      void streamData(CEventServer& event);
36      bool isDataLate(void) ;
37
38    private:
39      CField* field_ ;
40      CGrid* grid_;             //!< The grid attached to the data the filter can accept
41      CDuration freqOp_ ;
42      CDuration offset_ ;
43
44      bool wasDataAlreadyReceived_= false ;
45      CDate lastDateReceived_ ;
46  }; // class CSourceFilter
47} // namespace xios
48
49#endif //__XIOS_CLIENT_FROM_CLIENT_SOURCE_FILTER__
Note: See TracBrowser for help on using the repository browser.