Line data Source code
1 : /* 2 : * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved. 3 : */ 4 : 5 : #include <db/db.h> 6 : #include <cmn/agent_cmn.h> 7 : #include <init/agent_param.h> 8 : #include <uve/stats_collector.h> 9 : #include <uve/vrouter_stats_collector.h> 10 : 11 3 : VrouterStatsCollector::VrouterStatsCollector(boost::asio::io_service &io, 12 3 : AgentUveBase *uve) : 13 : StatsCollector(TaskScheduler::GetInstance()->GetTaskId("Agent::Uve"), 14 : 0, io, uve->agent()->params()->vrouter_stats_interval(), 15 : "Vrouter stats collector"), 16 3 : agent_uve_(uve) { 17 3 : } 18 : 19 6 : VrouterStatsCollector::~VrouterStatsCollector() { 20 6 : } 21 : 22 0 : bool VrouterStatsCollector::Run() { 23 0 : run_counter_++; 24 0 : agent_uve_->vrouter_uve_entry()->SendVrouterMsg(); 25 : /* We have not registered for ACL notification. So total_acl_rules 26 : * of VN is periodically polled from VN ACL and VN UVE is sent if there 27 : * are any changes. 28 : */ 29 0 : agent_uve_->vn_uve_table()->SendVnAclRuleCount(); 30 0 : return true; 31 : } 32 : 33 3 : void VrouterStatsCollector::Shutdown() { 34 3 : StatsCollector::Shutdown(); 35 3 : }