/* * File: SplitAbortTimer.cc * Author: sgaebler * Author: jgaebler * * Created on May 24, 2011, 4:09 PM */ #include "SplitAbortTimer.h" #include "MoversightTimerSettings.h" #include "split/SplitService.h" namespace ubeeme { namespace moversight { /** * @brief Constructor. * @param aService A reference to the split service. */ SplitAbortTimer::SplitAbortTimer(SplitService & aService) : MoversightTimer(aService) { #if OMNETPP setName("SplitAbortTimer"); #endif setNumberOfRetries(SPLIT_NUMBER_OF_MAX_RETRIES); GenericTime t(SPLIT_ABORT_TIMEOUT); setTimeout(t); } /** * @brief Destructor */ SplitAbortTimer::~SplitAbortTimer() { } /** * @brief If the timer is fired, this method is called and the timer * handled. */ void SplitAbortTimer::timeout() { dynamic_cast (service).handleSplitAbortTimer(this); } /** * @brief Sets the split operation to store. * @param sp The split operation to store. */ void SplitAbortTimer::setSplit(SplitOperation & sp) { storage.set("sp", sp); } /** * @brief Permits access to the stored split operation. * @return The stored split operation. */ SplitOperation SplitAbortTimer::getSplit() { return storage.get("sp"); } /** * @brief Creates a copy of the current instance. * @return The desired copy. */ SplitAbortTimer * SplitAbortTimer::dup() { return new SplitAbortTimer(*this); } /** * @brief Starts the timer. */ void SplitAbortTimer::start() { dynamic_cast (service).splitAbortTimer = this; MoversightTimer::start(); } } }