aboutsummaryrefslogtreecommitdiffstats
path: root/src/entropy/hres_timer/hres_timer.h
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-12-01 12:00:48 +0000
committerlloyd <[email protected]>2009-12-01 12:00:48 +0000
commit874dbb8323dd4d7eff3ff16cff0cfafc16ddbfa7 (patch)
treebc3a84c43c5924119972f24da3af89317694f0cb /src/entropy/hres_timer/hres_timer.h
parent78f5726220b637cd8ae117bbcf8ff8d6c8dfeaed (diff)
Consolidate the non-canonical epoch timers, like cpuid and Win32's
QueryPerformanceCounter, into an entropy source hres_timer. Its results, if any, do not count as contributing entropy to the poll. Convert the other (monotonic/fixed epoch) timers to a single function get_nanoseconds_clock(), living in time.h, which statically chooses the 'best' timer type (clock_gettime, gettimeofday, std::clock, in that order depending on what is available). Add feature test macros for clock_gettime and gettimeofday. Remove the Timer class and timer.h. Remove the Timer& argument to the algorithm benchmark function.
Diffstat (limited to 'src/entropy/hres_timer/hres_timer.h')
-rw-r--r--src/entropy/hres_timer/hres_timer.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/entropy/hres_timer/hres_timer.h b/src/entropy/hres_timer/hres_timer.h
new file mode 100644
index 000000000..8dfbfc2d7
--- /dev/null
+++ b/src/entropy/hres_timer/hres_timer.h
@@ -0,0 +1,27 @@
+/*
+* High Resolution Timestamp Entropy Source
+* (C) 1999-2009 Jack Lloyd
+*
+* Distributed under the terms of the Botan license
+*/
+
+#ifndef BOTAN_ENTROPY_SRC_HRES_TIMER_H__
+#define BOTAN_ENTROPY_SRC_HRES_TIMER_H__
+
+#include <botan/entropy_src.h>
+
+namespace Botan {
+
+/*
+* High Resolution Timestamp Source
+*/
+class BOTAN_DLL High_Resolution_Timestamp : public EntropySource
+ {
+ public:
+ std::string name() const { return "High Resolution Timestamp"; }
+ void poll(Entropy_Accumulator& accum);
+ };
+
+}
+
+#endif