//---------------------------------------------------------------------------- // // Copyright (C) Intel Corporation, 2007 - 2010. // // File: KeepAliveTimer.h // // Contents: A timer which goes off on a set time, which checks the // keep alive timeout of all open tunnels, // and close a disconnected tunnel // // Notes: //---------------------------------------------------------------------------- #ifndef KEEPALIVE_TIMER_H #define KEEPALIVE_TIMER_H #include "ace/Timer_Queue.h" #include "ace/Reactor.h" #include "global.h" #include "ObserverPattern.h" class KeepAliveTimer : public ACE_Event_Handler, public Observer_Pattern_Subject { public: KeepAliveTimer(void); ~KeepAliveTimer(void); STATUS start(void); STATUS close(void); STATUS start(const ACE_Time_Value &initialDelay, const ACE_Time_Value &interval); int handle_timeout(const ACE_Time_Value ¤t_time, const void * arg = NULL); int ReleaseExpiredConnectedSystemsEnumeration(void); private: long _timer_id; }; #endif /* KEEPALIVE_TIMER_H */