OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vrf_index.cc
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #include "cmn/agent.h"
6 #include "cmn/agent_cmn.h"
7 #include <sandesh/sandesh_types.h>
8 #include <sandesh/sandesh.h>
12 #include "vrf_index.h"
13 #include "resource_manager/resource_manager_types.h"
15 
17  const string& vrf_name):IndexResourceKey(rm, Resource::VRF_INDEX),
18  vrf_name_(vrf_name) {
19 
20 }
21 
22 void VrfIndexResourceKey::Backup(ResourceData *data, uint16_t op){
23  IndexResourceData *index_data = static_cast<IndexResourceData *>(data);
24  if (op == ResourceBackupReq::DEL) {
25  rm()->backup_mgr()->
26  sandesh_maps().DeleteVrfResourceEntry(index_data->index());
27  } else {
28  VrfIndexResource backup_data;
29  backup_data.set_vrf_name(vrf_name_);
30  backup_data.set_time_stamp(UTCTimestampUsec());
31  rm()->backup_mgr()->
32  sandesh_maps().AddVrfResourceEntry(index_data->index(),
33  backup_data);
34  }
36 
37 }
38 
39 bool VrfIndexResourceKey::IsLess(const ResourceKey &rhs) const {
40  const VrfIndexResourceKey * key = static_cast<const VrfIndexResourceKey*> (&rhs);
41  return vrf_name_ < key->vrf_name_;
42 }
virtual void Backup(ResourceData *data, uint16_t op)
Definition: vrf_index.cc:22
VrfBackUpResourceTable & vrf_index_table()
Definition: sandesh_map.h:285
virtual bool IsLess(const ResourceKey &rhs) const
Definition: vrf_index.cc:39
ResourceManager * rm()
VrfIndexResourceKey(ResourceManager *rm, const string &vrf_name)
Definition: vrf_index.cc:16
ResourceBackupManager * backup_mgr()
static uint64_t UTCTimestampUsec()
Definition: time_util.h:13
ResourceSandeshMaps & sandesh_maps()
uint32_t index() const
std::string vrf_name_
Definition: vrf_index.h:26