Changeset 643 for XIOS/trunk/src/filter


Ignore:
Timestamp:
07/17/15 13:58:13 (9 years ago)
Author:
rlacroix
Message:

Use the filter infrastructure to handle the temporal operations.

Add a temporal filter to do so.

Location:
XIOS/trunk/src/filter
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/filter/binary_arithmetic_filter.cpp

    r642 r643  
    1212  { 
    1313    CDataPacketPtr packet(new CDataPacket); 
     14    packet->date = data[0]->date; 
    1415    packet->timestamp = data[0]->timestamp; 
    1516    packet->status = data[0]->status; 
     
    3031  { 
    3132    CDataPacketPtr packet(new CDataPacket); 
     33    packet->date = data[0]->date; 
    3234    packet->timestamp = data[0]->timestamp; 
    3335    packet->status = data[0]->status; 
     
    4749  { 
    4850    CDataPacketPtr packet(new CDataPacket); 
     51    packet->date = data[0]->date; 
    4952    packet->timestamp = data[0]->timestamp; 
    5053 
  • XIOS/trunk/src/filter/data_packet.hpp

    r637 r643  
    55 
    66#include "array_new.hpp" 
    7 #include "duration.hpp" 
     7#include "date.hpp" 
    88 
    99namespace xios 
     
    2323 
    2424    CArray<double, 1> data; //!< Array containing the data 
     25    CDate date;             //!< Date associated to the data 
    2526    Time timestamp;         //!< Timestamp of the data 
    2627    StatusCode status;      //!< Status of the packet 
     
    3536      p->data.resize(data.shape()); 
    3637      p->data = data; 
     38      p->date = date; 
    3739      p->timestamp = timestamp; 
    3840      p->status = status; 
  • XIOS/trunk/src/filter/source_filter.cpp

    r638 r643  
    1414 
    1515  template <int N> 
    16   void CSourceFilter::streamData(Time timestamp, const CArray<double, N>& data) 
     16  void CSourceFilter::streamData(CDate date, const CArray<double, N>& data) 
    1717  { 
    1818    CDataPacketPtr packet(new CDataPacket); 
    19     packet->timestamp = timestamp; 
     19    packet->date = date; 
     20    packet->timestamp = date; 
    2021    packet->status = CDataPacket::NO_ERROR; 
    2122 
     
    2627  } 
    2728 
    28   template void CSourceFilter::streamData<1>(Time timestamp, const CArray<double, 1>& data); 
    29   template void CSourceFilter::streamData<2>(Time timestamp, const CArray<double, 2>& data); 
    30   template void CSourceFilter::streamData<3>(Time timestamp, const CArray<double, 3>& data); 
     29  template void CSourceFilter::streamData<1>(CDate date, const CArray<double, 1>& data); 
     30  template void CSourceFilter::streamData<2>(CDate date, const CArray<double, 2>& data); 
     31  template void CSourceFilter::streamData<3>(CDate date, const CArray<double, 3>& data); 
    3132 
    32   void CSourceFilter::streamDataFromServer(Time timestamp, const std::map<int, CArray<double, 1> >& data) 
     33  void CSourceFilter::streamDataFromServer(CDate date, const std::map<int, CArray<double, 1> >& data) 
    3334  { 
    3435    CDataPacketPtr packet(new CDataPacket); 
    35     packet->timestamp = timestamp; 
     36    packet->date = date; 
     37    packet->timestamp = date; 
    3638    packet->status = CDataPacket::NO_ERROR; 
    3739 
    3840    if (data.size() != grid->storeIndex_toSrv.size()) 
    39       ERROR("CSourceFilter::streamDataFromServer(Time timestamp, const std::map<int, CArray<double, 1> >& data)", 
     41      ERROR("CSourceFilter::streamDataFromServer(CDate date, const std::map<int, CArray<double, 1> >& data)", 
    4042            << "Incoherent data received from servers," 
    4143            << " expected " << grid->storeIndex_toSrv.size() << " chunks but " << data.size() << " were given."); 
     
    5456  } 
    5557 
    56   void CSourceFilter::signalEndOfStream(Time timestamp) 
     58  void CSourceFilter::signalEndOfStream(CDate date) 
    5759  { 
    5860    CDataPacketPtr packet(new CDataPacket); 
    59     packet->timestamp = timestamp; 
     61    packet->date = date; 
     62    packet->timestamp = date; 
    6063    packet->status = CDataPacket::END_OF_STREAM; 
    6164    deliverOuput(packet); 
  • XIOS/trunk/src/filter/source_filter.hpp

    r638 r643  
    2828       * immediately after this method returns. 
    2929       * 
    30        * \param timestamp the timestamp of the data 
     30       * \param date the date associated to the data 
    3131       * \param data an array containing the data 
    3232       */ 
    3333      template <int N> 
    34       void streamData(Time timestamp, const CArray<double, N>& data); 
     34      void streamData(CDate date, const CArray<double, N>& data); 
    3535 
    3636      /*! 
     
    3939       * immediately after this method returns. 
    4040       * 
    41        * \param timestamp the timestamp of the data 
     41       * \param date the date associated to the data 
    4242       * \param data an array containing the data 
    4343       */ 
    44       void streamDataFromServer(Time timestamp, const std::map<int, CArray<double, 1> >& data); 
     44      void streamDataFromServer(CDate date, const std::map<int, CArray<double, 1> >& data); 
    4545 
    4646      /*! 
    4747       * Signals the filter graph that the end of stream was reached. 
    4848       * 
    49        * \param timestamp the timestamp at which the end of stream occurred 
     49       * \param date the date at which the end of stream occurred 
    5050       */ 
    51       void signalEndOfStream(Time timestamp); 
     51      void signalEndOfStream(CDate date); 
    5252 
    5353    private: 
  • XIOS/trunk/src/filter/unary_arithmetic_filter.cpp

    r642 r643  
    1111  { 
    1212    CDataPacketPtr packet(new CDataPacket); 
     13    packet->date = data[0]->date; 
    1314    packet->timestamp = data[0]->timestamp; 
    1415    packet->status = data[0]->status; 
Note: See TracChangeset for help on using the changeset viewer.