OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
flow_entry_info.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef __AGENT_PKT_FLOW_ENTRY_INFO_H__
6 #define __AGENT_PKT_FLOW_ENTRY_INFO_H__
7 
9 
11 // Per flow information stored in flow-mgmt module. Holds a reference to
12 // flow so that flow active till flow-mgmt processing is done
15 public:
17  flow_(flow), tree_(), count_(0), ingress_(false), local_flow_(false) {
18  }
19  virtual ~FlowEntryInfo() { assert(tree_.size() == 0); }
20  const FlowMgmtKeyTree &tree() const { return tree_; }
21 
22 private:
23  friend class FlowMgmtManager;
26  uint32_t count_; // Number of times tree modified
27  bool ingress_;
30 };
31 
32 #endif // __AGENT_PKT_FLOW_ENTRY_INFO_H__
FlowMgmtKeyTree tree_
DISALLOW_COPY_AND_ASSIGN(FlowEntryInfo)
std::map< FlowMgmtKey *, FlowMgmtKeyNode *, FlowMgmtKeyCmp > FlowMgmtKeyTree
const FlowMgmtKeyTree & tree() const
FlowEntryPtr flow_
virtual ~FlowEntryInfo()
FlowEntryInfo(FlowEntry *flow)
boost::intrusive_ptr< FlowEntry > FlowEntryPtr
Definition: flow_entry.h:125