OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bgp_as_service_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 "bgp_as_service_index.h"
13 #include "resource_manager/resource_manager_types.h"
15 
18  Resource::BGP_AS_SERVICE_INDEX), uuid_(uuid) {
19 
20 }
21 
23  IndexResourceData *index_data = static_cast<IndexResourceData *>(data);
24  if (op == ResourceBackupReq::DEL) {
25  rm()->backup_mgr()->
26  sandesh_maps().DeleteBgpAsServiceResourceEntry(index_data->index());
27  } else {
28  BgpAsServiceIndexResource backup_data;
29  backup_data.set_uuid(UuidToString(uuid_));
30  backup_data.set_time_stamp(UTCTimestampUsec());
31  rm()->backup_mgr()->
32  sandesh_maps().AddBgpAsServiceResourceEntry(index_data->index(),
33  backup_data);
34  }
36  TriggerBackup();
37 
38 }
40  const BgpAsServiceIndexResourceKey *vm_key =
41  static_cast<const BgpAsServiceIndexResourceKey *>(&rhs);
42  return uuid_ < vm_key->uuid_;
43 }
BgpAsServiceIndexResourceKey(ResourceManager *rm, const boost::uuids::uuid &uuid_)
BgpAsServiceBackUpResourceTable & bgp_as_service_index_table()
Definition: sandesh_map.h:293
boost::uuids::uuid uuid
static std::string UuidToString(const boost::uuids::uuid &id)
Definition: string_util.h:138
ResourceManager * rm()
ResourceBackupManager * backup_mgr()
static uint64_t UTCTimestampUsec()
Definition: time_util.h:13
virtual bool IsLess(const ResourceKey &rhs) const
ResourceSandeshMaps & sandesh_maps()
uint32_t index() const
virtual void Backup(ResourceData *data, uint16_t op)