diff options
Diffstat (limited to 'TAO/performance-tests/Callback/Callback_i.cpp')
-rw-r--r-- | TAO/performance-tests/Callback/Callback_i.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/TAO/performance-tests/Callback/Callback_i.cpp b/TAO/performance-tests/Callback/Callback_i.cpp new file mode 100644 index 00000000000..74416a50d0b --- /dev/null +++ b/TAO/performance-tests/Callback/Callback_i.cpp @@ -0,0 +1,31 @@ +// $Id$ + +#include "Callback_i.h" + +#if !defined(__ACE_INLINE__) +#include "Callback_i.inl" +#endif /* __ACE_INLINE__ */ + +#include "ace/OS_NS_time.h" + +ACE_RCSID(Callback, Callback_i, "$Id$") + +int +Callback_i::done (void) +{ + ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0); + return this->remaining_samples_ == 0; +} + +void +Callback_i::response (Test::TimeStamp time_stamp, + const Test::Payload &) +{ + ACE_hrtime_t now = ACE_OS::gethrtime (); + ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); + if (this->remaining_samples_ == 0) + return; + + this->remaining_samples_--; + this->history_.sample (ACE_HRTIME_TO_U64(now) - time_stamp); +} |