OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mirror_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 "mirror_index.h"
13 #include "resource_manager/resource_manager_types.h"
15 
17  const string& analyzer_name):IndexResourceKey(rm, Resource::MIRROR_INDEX),
18  analyzer_name_(analyzer_name) {
19 
20 }
21 
23  IndexResourceData *index_data = static_cast<IndexResourceData *>(data);
24  if (op == ResourceBackupReq::DEL) {
25  rm()->backup_mgr()->
26  sandesh_maps().DeleteMirrorResourceEntry(index_data->index());
27  } else {
28  MirrorIndexResource backup_data;
29  backup_data.set_analyzer_name(analyzer_name_);
30  backup_data.set_time_stamp(UTCTimestampUsec());
31  rm()->backup_mgr()->
32  sandesh_maps().AddMirrorResourceEntry(index_data->index(),
33  backup_data);
34  }
36 
37 }
38 
40  const MirrorIndexResourceKey * key =
41  static_cast<const MirrorIndexResourceKey*> (&rhs);
42  return analyzer_name_ < key->analyzer_name_;
43 }
virtual void Backup(ResourceData *data, uint16_t op)
Definition: mirror_index.cc:22
MirrorIndexResourceKey(ResourceManager *rm, const string &analyzer_name)
Definition: mirror_index.cc:16
ResourceManager * rm()
ResourceBackupManager * backup_mgr()
virtual bool IsLess(const ResourceKey &rhs) const
Definition: mirror_index.cc:39
static uint64_t UTCTimestampUsec()
Definition: time_util.h:13
MirrorBackUpResourceTable & mirror_index_table()
Definition: sandesh_map.h:297
ResourceSandeshMaps & sandesh_maps()
uint32_t index() const
std::string analyzer_name_
Definition: mirror_index.h:25