1 #ifndef ROUNDTRIP_HANDLER_H
2 #define ROUNDTRIP_HANDLER_H
3 #include /**/ "ace/pre.h"
6 #include "ace/Basic_Stats.h"
7 #include "ace/High_Res_Timer.h"
9 /// Implement the Test::Roundtrip interface
10 class Roundtrip_Handler
11 : public virtual POA_Test::AMI_RoundtripHandler
15 Roundtrip_Handler (int expected_callbacks
);
17 /// Return the number of pending callbacks
18 int pending_callbacks () const;
21 void dump_results (ACE_High_Res_Timer::global_scale_factor_type gsf
);
23 // = The skeleton methods for test octet load
24 virtual void test_octet_method (Test::Timestamp send_time
);
26 virtual void test_octet_method_excep (::Messaging::ExceptionHolder
*holder
);
28 // = The skeleton methods for test char load
29 virtual void test_char_method (Test::Timestamp send_time
);
30 virtual void test_char_method_excep (::Messaging::ExceptionHolder
*holder
);
32 // = The skeleton methods for test long load
33 virtual void test_long_method (Test::Timestamp send_time
);
34 virtual void test_long_method_excep (::Messaging::ExceptionHolder
*holder
);
36 // = The skeleton methods for test short load
37 virtual void test_short_method (Test::Timestamp send_time
);
38 virtual void test_short_method_excep (::Messaging::ExceptionHolder
*holder
);
40 // = The skeleton methods for test longlong load
41 virtual void test_longlong_method (Test::Timestamp send_time
);
42 virtual void test_longlong_method_excep (::Messaging::ExceptionHolder
*holder
);
44 // = The skeleton methods for test double load
45 virtual void test_double_method (Test::Timestamp send_time
);
46 virtual void test_double_method_excep (::Messaging::ExceptionHolder
*holder
);
50 virtual void shutdown ();
51 virtual void shutdown_excep (::Messaging::ExceptionHolder
*holder
);
54 /// The number of callbacks not received yet
55 int pending_callbacks_
;
57 /// Collect the latency results
58 ACE_Basic_Stats latency_stats_
;
61 #include /**/ "ace/post.h"
62 #endif /* ROUNDTRIP_H */