OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IFMapLink Class Reference

#include <ifmap_link.h>

Inheritance diagram for IFMapLink:
Collaboration diagram for IFMapLink:

Classes

struct  LinkOriginInfo
 

Public Member Functions

 IFMapLink (const std::string &name)
 
const std::string & link_name () const
 
virtual const std::string & name () const
 
void SetProperties (IFMapNode *left, IFMapNode *right, const std::string &metadata, uint64_t sequence_number, const IFMapOrigin &origin)
 
void UpdateProperties (const IFMapOrigin &in_origin, uint64_t sequence_number)
 
void ClearNodes ()
 
virtual KeyPtr GetDBRequestKey () const
 
virtual void SetKey (const DBRequestKey *genkey)
 
virtual std::string ToString () const
 
virtual bool IsLess (const DBEntry &rgen) const
 
void SetLinkRevival (bool lr)
 
IFMapNodeLeftNode (DB *db)
 
const IFMapNodeLeftNode (DB *db) const
 
IFMapNodeRightNode (DB *db)
 
const IFMapNodeRightNode (DB *db) const
 
IFMapNodeleft ()
 
const IFMapNodeleft () const
 
IFMapNoderight ()
 
const IFMapNoderight () const
 
bool link_revival () const
 
const IFMapNode::Descriptorleft_id () const
 
const IFMapNode::Descriptorright_id () const
 
const std::string & metadata () const
 
void AddOriginInfo (const IFMapOrigin &in_origin, uint64_t seq_num)
 
void RemoveOriginInfo (IFMapOrigin::Origin in_origin)
 
bool HasOrigin (IFMapOrigin::Origin in_origin)
 
bool is_origin_empty ()
 
void EncodeLinkInfo (pugi::xml_node *parent) const
 
IFMapLink::LinkOriginInfo GetOriginInfo (IFMapOrigin::Origin in_origin, bool *exists)
 
uint64_t sequence_number (IFMapOrigin::Origin in_origin, bool *exists)
 
- Public Member Functions inherited from DBGraphEdge
 DBGraphEdge ()
 
void SetEdge (Edge edge)
 
Edge edge_id () const
 
DBGraphVertexsource (DBGraph *graph)
 
const DBGraphVertexsource (DBGraph *graph) const
 
DBGraphVertextarget (DBGraph *graph)
 
const DBGraphVertextarget (DBGraph *graph) const
 
- Public Member Functions inherited from DBEntry
 DBEntry ()
 
virtual ~DBEntry ()
 
bool operator< (const DBEntry &rhs) const
 
- Public Member Functions inherited from DBEntryBase
 DBEntryBase ()
 
virtual ~DBEntryBase ()
 
virtual bool IsMoreSpecific (const std::string &match) const
 
virtual bool IsLessSpecific (const std::string &match) const
 
void SetState (DBTableBase *tbl_base, ListenerId listener, DBState *state)
 
void ClearState (DBTableBase *tbl_base, ListenerId listener)
 
DBStateGetState (DBTableBase *tbl_base, ListenerId listener) const
 
const DBStateGetState (const DBTableBase *tbl_base, ListenerId listener) const
 
bool is_state_empty (DBTablePartBase *tpart)
 
bool is_state_empty_unlocked (DBTablePartBase *tpart)
 
void Delete ()
 
void MarkDelete ()
 
void ClearDelete ()
 
bool IsDeleted () const
 
void set_onlist ()
 
void clear_onlist ()
 
bool is_onlist ()
 
void SetOnRemoveQ ()
 
bool IsOnRemoveQ ()
 
void ClearOnRemoveQ ()
 
void set_last_change_at (uint64_t time)
 
void set_last_change_at_to_now ()
 
const uint64_t last_change_at () const
 
const std::string last_change_at_str () const
 
void set_last_update_at (uint64_t time)
 
void set_last_update_at_to_now ()
 
const uint64_t last_update_at () const
 
DBTablePartBaseget_table_partition () const
 
void set_table_partition (DBTablePartBase *tpart)
 
DBTableBaseget_table () const
 
void Notify ()
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (IFMapLink)
 

Private Attributes

std::string link_name_
 
std::string metadata_
 
IFMapNode::Descriptor left_id_
 
IFMapNode::Descriptor right_id_
 
IFMapNodeleft_node_
 
IFMapNoderight_node_
 
std::vector< LinkOriginInfoorigin_info_
 
bool link_revival_
 

Friends

class ShowIFMapLinkTable
 

Additional Inherited Members

- Public Types inherited from DBGraphEdge
typedef
DBGraphBase::vertex_descriptor 
Vertex
 
typedef
DBGraphBase::edge_descriptor 
Edge
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr
< DBRequestKey
KeyPtr
 
- Public Attributes inherited from DBEntryBase
boost::intrusive::list_member_hook chg_list_
 

Detailed Description

Definition at line 16 of file ifmap_link.h.

Constructor & Destructor Documentation

IFMapLink::IFMapLink ( const std::string &  name)

Definition at line 13 of file ifmap_link.cc.

Member Function Documentation

void IFMapLink::AddOriginInfo ( const IFMapOrigin in_origin,
uint64_t  seq_num 
)

Definition at line 93 of file ifmap_link.cc.

void IFMapLink::ClearNodes ( )

Definition at line 40 of file ifmap_link.cc.

IFMapLink::DISALLOW_COPY_AND_ASSIGN ( IFMapLink  )
private
void IFMapLink::EncodeLinkInfo ( pugi::xml_node *  parent) const

Definition at line 158 of file ifmap_link.cc.

DBEntry::KeyPtr IFMapLink::GetDBRequestKey ( ) const
virtual

Implements DBEntryBase.

Definition at line 73 of file ifmap_link.cc.

IFMapLink::LinkOriginInfo IFMapLink::GetOriginInfo ( IFMapOrigin::Origin  in_origin,
bool *  exists 
)

Definition at line 117 of file ifmap_link.cc.

bool IFMapLink::HasOrigin ( IFMapOrigin::Origin  in_origin)

Definition at line 133 of file ifmap_link.cc.

bool IFMapLink::is_origin_empty ( )
inline

Definition at line 75 of file ifmap_link.h.

bool IFMapLink::IsLess ( const DBEntry rgen) const
virtual

Implements DBEntry.

Definition at line 88 of file ifmap_link.cc.

Here is the call graph for this function:

IFMapNode* IFMapLink::left ( )
inline

Definition at line 61 of file ifmap_link.h.

const IFMapNode* IFMapLink::left ( ) const
inline

Definition at line 62 of file ifmap_link.h.

const IFMapNode::Descriptor& IFMapLink::left_id ( ) const
inline

Definition at line 67 of file ifmap_link.h.

IFMapNode * IFMapLink::LeftNode ( DB db)

Definition at line 45 of file ifmap_link.cc.

Here is the call graph for this function:

const IFMapNode * IFMapLink::LeftNode ( DB db) const

Definition at line 52 of file ifmap_link.cc.

Here is the call graph for this function:

const std::string& IFMapLink::link_name ( ) const
inline

Definition at line 30 of file ifmap_link.h.

bool IFMapLink::link_revival ( ) const
inline

Definition at line 65 of file ifmap_link.h.

const std::string& IFMapLink::metadata ( ) const
inline

Definition at line 70 of file ifmap_link.h.

virtual const std::string& IFMapLink::name ( ) const
inlinevirtual

Implements DBGraphEdge.

Definition at line 31 of file ifmap_link.h.

void IFMapLink::RemoveOriginInfo ( IFMapOrigin::Origin  in_origin)

Definition at line 106 of file ifmap_link.cc.

IFMapNode* IFMapLink::right ( )
inline

Definition at line 63 of file ifmap_link.h.

const IFMapNode* IFMapLink::right ( ) const
inline

Definition at line 64 of file ifmap_link.h.

const IFMapNode::Descriptor& IFMapLink::right_id ( ) const
inline

Definition at line 68 of file ifmap_link.h.

IFMapNode * IFMapLink::RightNode ( DB db)

Definition at line 59 of file ifmap_link.cc.

Here is the call graph for this function:

const IFMapNode * IFMapLink::RightNode ( DB db) const

Definition at line 66 of file ifmap_link.cc.

Here is the call graph for this function:

uint64_t IFMapLink::sequence_number ( IFMapOrigin::Origin  in_origin,
bool *  exists 
)

Definition at line 144 of file ifmap_link.cc.

void IFMapLink::SetKey ( const DBRequestKey genkey)
virtual

Implements DBEntry.

Definition at line 78 of file ifmap_link.cc.

void IFMapLink::SetLinkRevival ( bool  lr)
inline

Definition at line 47 of file ifmap_link.h.

void IFMapLink::SetProperties ( IFMapNode left,
IFMapNode right,
const std::string &  metadata,
uint64_t  sequence_number,
const IFMapOrigin origin 
)

Definition at line 17 of file ifmap_link.cc.

Here is the call graph for this function:

string IFMapLink::ToString ( ) const
virtual

Implements DBEntryBase.

Definition at line 81 of file ifmap_link.cc.

void IFMapLink::UpdateProperties ( const IFMapOrigin in_origin,
uint64_t  sequence_number 
)

Definition at line 29 of file ifmap_link.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

friend class ShowIFMapLinkTable
friend

Definition at line 85 of file ifmap_link.h.

Member Data Documentation

IFMapNode::Descriptor IFMapLink::left_id_
private

Definition at line 89 of file ifmap_link.h.

IFMapNode* IFMapLink::left_node_
private

Definition at line 91 of file ifmap_link.h.

std::string IFMapLink::link_name_
private

Definition at line 87 of file ifmap_link.h.

bool IFMapLink::link_revival_
private

Definition at line 94 of file ifmap_link.h.

std::string IFMapLink::metadata_
private

Definition at line 88 of file ifmap_link.h.

std::vector<LinkOriginInfo> IFMapLink::origin_info_
private

Definition at line 93 of file ifmap_link.h.

IFMapNode::Descriptor IFMapLink::right_id_
private

Definition at line 90 of file ifmap_link.h.

IFMapNode* IFMapLink::right_node_
private

Definition at line 92 of file ifmap_link.h.


The documentation for this class was generated from the following files: