7 #include <sandesh/sandesh_trace.h>
11 #include "pugixml/pugixml.hpp"
19 #include "controller/controller_types.h"
25 #define SECS_TO_USECS(t) t * 1000 * 1000
26 #define SECS_TO_MSECS(t) t * 1000
30 const std::string &timer_name,
31 uint32_t timer_interval)
32 : agent_(agent), last_restart_time_(0),
33 xmpp_server_(
""), timer_name_(timer_name),
34 timer_interval_(timer_interval) {
37 io_service()), timer_name,
39 GetTaskId(
"Agent::ControllerXmpp"), 0);
106 llgr_params().stale_config_cleanup_time())),
107 sequence_number_(0) {
126 llgr_params().stale_config_cleanup_time());
133 llgr_params().config_poll_time())),
134 config_channel_(config_channel) {
146 gres_parameters().IsEnabled());
159 bool config_seen =
false;
184 llgr_params().config_poll_time());
198 llgr_params().config_inactivity_time());
200 llgr_params().config_fallback_time());
210 llgr_params().end_of_rib_tx_poll_time())),
211 agent_xmpp_channel_(NULL) {
221 gres_parameters().IsEnabled());
233 bool end_of_rib =
false;
264 llgr_params().end_of_rib_tx_poll_time());
278 llgr_params().end_of_rib_tx_inactivity_time());
280 llgr_params().end_of_rib_tx_fallback_time());
290 llgr_params().end_of_rib_rx_fallback_time())),
291 agent_xmpp_channel_(NULL) {
312 gres_parameters().IsEnabled());
322 global_system_config()->gres_parameters().end_of_rib_time();
325 llgr_params().end_of_rib_rx_fallback_time());
335 gres_parameters().llgr_stale_time())),
336 agent_xmpp_channel_(NULL) {
354 gres_parameters().IsEnabled());
364 global_system_config()->gres_parameters().llgr_stale_time());
367 llgr_params().llgr_stale_time());
virtual void Start(AgentXmppChannel *agent_xmpp_channel)
uint64_t sequence_number_
ConfigCleanupTimer(Agent *agent)
virtual bool TimerExpirationDone()
EndOfRibTxTimer(Agent *agent)
uint64_t end_of_rib_tx_time_
ControllerTimer(Agent *agent, const std::string &timer_name, uint32_t timer_interval)
virtual bool TimerExpirationDone()
uint64_t last_route_published_time_
void GresEnabled(bool enable)
virtual void Start(AgentXmppChannel *agent_xmpp_channel)
uint32_t GetInactivityInterval() const
Timer * controller_timer_
virtual uint32_t GetTimerInterval() const =0
AgentIfMapXmppChannel * config_channel_
void StartEndOfRibTxWalker()
virtual uint32_t GetTimerInterval() const
virtual void Start(AgentXmppChannel *agent_xmpp_channel)
uint64_t config_inactivity_time_
void GresEnabled(bool enable)
AgentIfMapXmppChannel * ifmap_xmpp_channel(uint8_t idx) const
virtual void Start(AgentXmppChannel *agent_xmpp_channel)
EventNotifier * event_notifier() const
InstanceManager * instance_manager()
virtual ~ControllerTimer()
uint64_t last_restart_time_
virtual uint32_t GetTimerInterval() const
static TaskScheduler * GetInstance()
void GresEnabled(bool enable)
virtual bool TimerExpirationDone()
AgentXmppChannel * agent_xmpp_channel_
uint64_t fallback_interval_
VNController * controller() const
EventManager * event_manager() const
virtual void Start(AgentXmppChannel *agent_xmpp_channel)
uint32_t GetFallbackInterval() const
AgentXmppChannel * agent_xmpp_channel_
uint8_t GetXmppServerIdx()
EndOfRibRxTimer(Agent *agent)
AgentParam * params() const
static Timer * CreateTimer(boost::asio::io_context &service, const std::string &name, int task_id=Timer::GetTimerTaskId(), int task_instance=Timer::GetTimerInstanceId(), bool delete_on_completion=false)
IFMapAgentStaleCleaner * ifmap_stale_cleaner() const
void EnqueueEndOfConfig()
AgentXmppChannel * agent_xmpp_channel_
virtual void Start(AgentXmppChannel *agent_xmpp_channel)
virtual uint32_t GetTimerInterval() const
std::string GetXmppServer()
bool StaleTimeout(uint64_t)
uint64_t inactivity_detected_time_
uint64_t end_of_config_processed_time_
virtual bool TimerExpirationDone()
virtual uint32_t GetTimerInterval() const
uint32_t GetInactivityInterval() const
EndOfConfigTimer(Agent *agent, AgentIfMapXmppChannel *channel)
static uint64_t UTCTimestampUsec()
uint64_t end_of_rib_rx_time_
uint64_t llgr_stale_time_
bool TimerExpiredCallback()
bool Start(int time, Handler handler, ErrorHandler error_handler=NULL)
const std::string & timer_name() const
uint64_t last_config_receive_time_
uint64_t end_of_rib_rx_fallback_time_
void GresEnabled(bool enable)
virtual bool TimerExpirationDone()
const uint64_t controller_xmpp_channel_setup_time(uint8_t idx) const
uint32_t GetFallbackInterval() const
LlgrStaleTimer(Agent *agent)
virtual uint32_t GetTimerInterval() const
GlobalSystemConfig * global_system_config() const
#define CONTROLLER_TRACE(obj,...)
virtual bool TimerExpirationDone()
uint64_t fallback_interval_
const int8_t & ifmap_active_xmpp_server_index() const
static bool DeleteTimer(Timer *Timer)