summaryrefslogtreecommitdiff
path: root/trunk/TAO/performance-tests/Callback/Callback_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/performance-tests/Callback/Callback_i.h')
-rw-r--r--trunk/TAO/performance-tests/Callback/Callback_i.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/trunk/TAO/performance-tests/Callback/Callback_i.h b/trunk/TAO/performance-tests/Callback/Callback_i.h
new file mode 100644
index 00000000000..b3423a573b0
--- /dev/null
+++ b/trunk/TAO/performance-tests/Callback/Callback_i.h
@@ -0,0 +1,45 @@
+// $Id$
+
+#ifndef TAO_CALLBACK_I_H
+#define TAO_CALLBACK_I_H
+
+#include "callbackS.h"
+#include "ace/Sample_History.h"
+
+/// Implement the Test::Callback interface
+class Callback_i : public POA_Test::Callback
+{
+public:
+ /// Constructor.
+ Callback_i (int expected_samples);
+
+ /// Return 1 when all the samples have been received
+ int done (void);
+
+ /// Get access to the history
+ ACE_Sample_History &sample_history (void);
+
+ /// Implement the CORBA methods
+ //@{
+ void response (Test::TimeStamp,
+ const Test::Payload &
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ //@}
+
+private:
+ /// Synchronize access to the history data during testing
+ TAO_SYNCH_MUTEX mutex_;
+
+ /// Save the history of the latency values
+ ACE_Sample_History history_;
+
+ /// The number of samples still expected
+ int remaining_samples_;
+};
+
+#if defined(__ACE_INLINE__)
+#include "Callback_i.inl"
+#endif /* __ACE_INLINE__ */
+
+#endif /* TAO_CALLBACK_I_H */