00001 #ifndef _BULKDATA_RECEIVER1_PERF_CB_H 00002 #define _BULKDATA_RECEIVER1_PERF_CB_H 00003 00004 #include "bulkDataCallback.h" 00005 #include "bulkDataReceiver1PerfImpl.h" 00006 #include "ace/High_Res_Timer.h" 00007 00008 class BulkDataReceiver1PerfCb : public BulkDataCallback 00009 { 00010 00011 public: 00012 BulkDataReceiver1PerfCb(); 00013 00014 ~BulkDataReceiver1PerfCb(); 00015 00016 virtual int cbStart(ACE_Message_Block * userParam_p = 0); 00017 00018 virtual int cbReceive(ACE_Message_Block * frame_p); 00019 00020 virtual int cbStop(); 00021 00022 private: 00023 00024 //statistics 00025 void dump_stats(); 00026 double stats_avg(); 00027 double sum_frame(); 00028 00029 ACE_Time_Value start_time; 00030 std::vector<double> dstats; 00031 int start; 00032 long count; 00033 long size; 00034 CORBA::ULong count1_m; 00035 }; 00036 00037 00038 00039 #endif