From 8315970370d63b101bd0bd579bc1f697a3c8d07c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 3 Apr 2017 13:31:13 -0500 Subject: Add timeout support to host control On timeout, send error signal for all commands within the queue Change-Id: Ic995fd4b057bd83f121a3deec405a26e0991e9a2 Signed-off-by: Andrew Geissler --- softoff/timer.hpp | 100 ------------------------------------------------------ 1 file changed, 100 deletions(-) delete mode 100644 softoff/timer.hpp (limited to 'softoff/timer.hpp') diff --git a/softoff/timer.hpp b/softoff/timer.hpp deleted file mode 100644 index cbd3444..0000000 --- a/softoff/timer.hpp +++ /dev/null @@ -1,100 +0,0 @@ -#pragma once - -#include -#include -namespace phosphor -{ -namespace ipmi -{ - -/** @class Timer - * @brief Manages starting watchdog timers and handling timeouts - */ -class Timer -{ - public: - /** @brief Only need the default Timer */ - Timer() = delete; - Timer(const Timer&) = delete; - Timer& operator=(const Timer&) = delete; - Timer(Timer&&) = delete; - Timer& operator=(Timer&&) = delete; - - /** @brief Constructs timer object - * - * @param[in] events - sd_event pointer - * @param[in] funcCallBack - optional function callback for timer - * expirations - */ - Timer(sd_event* events, - std::function userCallBack = nullptr) - : timeEvent(events), userCallBack(userCallBack) - { - // Initialize the timer - initialize(); - } - - ~Timer() - { - if (eventSource) - { - eventSource = sd_event_source_unref(eventSource); - } - } - - inline auto isExpired() const - { - return expired; - } - - /** @brief Starts the timer with specified expiration value. - * input is an offset from the current steady_clock - */ - int startTimer(std::chrono::microseconds usec); - - /** @brief Enables / disables the timer */ - int setTimer(int action); - - private: - /** @brief the sd_event structure */ - sd_event* timeEvent = nullptr; - - /** @brief Source of events */ - sd_event_source* eventSource = nullptr; - - /** @brief Returns if the associated timer is expired - * - * This is set to true when the timeoutHandler is called into - */ - bool expired = false; - - /** @brief Initializes the timer object with infinite - * expiration time and sets up the callback handler - * - * @return None. - * - * @error std::runtime exception thrown - */ - void initialize(); - - /** @brief Callback function when timer goes off - * - * On getting the signal, initiate the hard power off request - * - * @param[in] eventSource - Source of the event - * @param[in] usec - time in micro seconds - * @param[in] userData - User data pointer - * - */ - static int timeoutHandler(sd_event_source* eventSource, - uint64_t usec, void* userData); - - /** @brief Gets the current time from steady clock */ - static std::chrono::microseconds getTime(); - - /** @brief Optional function to call on timer expiration */ - std::function userCallBack; -}; - -} // namespace ipmi -} // namespace phosphor -- cgit v1.2.1