diff options
Diffstat (limited to 'general/WinHEC 2017 Lab/Toaster Driver/Service/Metering.h')
| -rw-r--r-- | general/WinHEC 2017 Lab/Toaster Driver/Service/Metering.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/general/WinHEC 2017 Lab/Toaster Driver/Service/Metering.h b/general/WinHEC 2017 Lab/Toaster Driver/Service/Metering.h new file mode 100644 index 00000000..bfb48216 --- /dev/null +++ b/general/WinHEC 2017 Lab/Toaster Driver/Service/Metering.h @@ -0,0 +1,29 @@ +#include "stdafx.h" +#include <windows.h> + +#include <iostream> // std::cout +#include <thread> // std::thread +#include <mutex> + +namespace RpcServer +{ + class Metering + { + public: + Metering(__int64 period); + void SetSamplePeriod(__int64 period); + __int64 GetMeteringData() const; + void MeteringWorker(); + void WaitForMeteringData() const; + void StartMetering(__int64 samplePeriod, __int64 context); + void StopMetering(); + ~Metering(); + + private: + volatile __int64 _data; + volatile __int64 samplePeriod; + PTP_TIMER tpTimer = nullptr; + HANDLE event; + volatile bool stopMeteringRequested = false; + }; +} |
