42 lines
1.0 KiB
C++

//----------------------------------------------------------------------------
//
// 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 &current_time, const void * arg = NULL);
int ReleaseExpiredConnectedSystemsEnumeration(void);
private:
long _timer_id;
};
#endif /* KEEPALIVE_TIMER_H */