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

#include <ifmap_update.h>

Inheritance diagram for IFMapNodeState:
Collaboration diagram for IFMapNodeState:

Public Types

typedef DependencyList
< IFMapLink, IFMapNodeState >
::iterator 
iterator
 
typedef DependencyList
< IFMapLink, IFMapNodeState >
::const_iterator 
const_iterator
 
- Public Types inherited from IFMapState
typedef
boost::crc_32_type::value_type 
crc32type
 
typedef
boost::intrusive::member_hook
< IFMapUpdate,
boost::intrusive::slist_member_hook
<>,&IFMapUpdate::node_
MemberHook
 
typedef
boost::intrusive::slist
< IFMapUpdate, MemberHook
UpdateList
 

Public Member Functions

 IFMapNodeState (IFMapNode *node)
 
void SetValid ()
 
void SetValid (const IFMapNode *node)
 
bool HasDependents () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const BitSetnmask () const
 
void nmask_clear ()
 
void nmask_set (int bit)
 
virtual bool CanDelete ()
 
 IFMapNodeState (IFMapDependencyManager *manager, IFMapNode *node)
 
IFMapNodenode ()
 
DBEntryobject ()
 
void set_object (DBEntry *object)
 
void set_uuid (const boost::uuids::uuid &u)
 
void set_notify (bool flag)
 
void set_oper_db_request_enqueued (bool oper_db_request_enqueued)
 
bool notify ()
 
boost::uuids::uuid uuid ()
 
void clear_object ()
 
bool oper_db_request_enqueued () const
 
- Public Member Functions inherited from DBState
virtual ~DBState ()
 
- Public Member Functions inherited from IFMapState
 IFMapState (IFMapNode *node)
 
 IFMapState (IFMapLink *link)
 
virtual ~IFMapState ()
 
const BitSetinterest () const
 
const BitSetadvertised () const
 
const UpdateListupdate_list () const
 
IFMapUpdateGetUpdate (IFMapListEntry::EntryType type)
 
void Insert (IFMapUpdate *update)
 
void Remove (IFMapUpdate *update)
 
void InterestOr (const BitSet &bset)
 
void SetInterest (const BitSet &bset)
 
void InterestReset (const BitSet &set)
 
void AdvertisedOr (const BitSet &set)
 
void AdvertisedReset (const BitSet &set)
 
template<typename Disposer >
void ClearAndDispose (Disposer disposer)
 
virtual void ClearValid ()
 
virtual bool IsValid () const
 
virtual bool IsInvalid () const
 
const crc32typecrc () const
 
void SetCrc (crc32type &crc)
 
const IFMapObjectPtrdata () const
 
IFMapNodeGetIFMapNode () const
 
IFMapLinkGetIFMapLink () const
 
bool IsNode () const
 
bool IsLink () const
 

Private Member Functions

 DEPENDENCY_LIST (IFMapLink, IFMapNodeState, dependents_)
 

Private Attributes

BitSet nmask_
 
IFMapDependencyManagermanager_
 
IFMapNodenode_
 
DBEntryobject_
 
boost::uuids::uuid uuid_
 
int refcount_
 
bool notify_
 
bool oper_db_request_enqueued_
 

Friends

void intrusive_ptr_add_ref (IFMapNodeState *state)
 
void intrusive_ptr_release (IFMapNodeState *state)
 

Additional Inherited Members

- Protected Attributes inherited from IFMapState
uint32_t sig_
 
IFMapObjectPtr data_
 
- Static Protected Attributes inherited from IFMapState
static const uint32_t kInvalidSig = -1
 

Detailed Description

Definition at line 176 of file ifmap_update.h.

Member Typedef Documentation

Constructor & Destructor Documentation

IFMapNodeState::IFMapNodeState ( IFMapNode node)
explicit

Definition at line 126 of file ifmap_update.cc.

IFMapNodeState::IFMapNodeState ( IFMapDependencyManager manager,
IFMapNode node 
)
inline

Definition at line 39 of file ifmap_dependency_manager.h.

Member Function Documentation

iterator IFMapNodeState::begin ( )
inline

Definition at line 187 of file ifmap_update.h.

const_iterator IFMapNodeState::begin ( ) const
inline

Definition at line 190 of file ifmap_update.h.

virtual bool IFMapNodeState::CanDelete ( )
inlinevirtual

Implements IFMapState.

Definition at line 196 of file ifmap_update.h.

Here is the call graph for this function:

void IFMapNodeState::clear_object ( )
inline

Definition at line 67 of file ifmap_dependency_manager.h.

IFMapNodeState::DEPENDENCY_LIST ( IFMapLink  ,
IFMapNodeState  ,
dependents_   
)
private
iterator IFMapNodeState::end ( )
inline

Definition at line 188 of file ifmap_update.h.

const_iterator IFMapNodeState::end ( ) const
inline

Definition at line 191 of file ifmap_update.h.

bool IFMapNodeState::HasDependents ( ) const

Definition at line 130 of file ifmap_update.cc.

const BitSet& IFMapNodeState::nmask ( ) const
inline

Definition at line 193 of file ifmap_update.h.

void IFMapNodeState::nmask_clear ( )
inline

Definition at line 194 of file ifmap_update.h.

Here is the call graph for this function:

void IFMapNodeState::nmask_set ( int  bit)
inline

Definition at line 195 of file ifmap_update.h.

Here is the call graph for this function:

IFMapNode* IFMapNodeState::node ( )
inline

Definition at line 45 of file ifmap_dependency_manager.h.

bool IFMapNodeState::notify ( )
inline

Definition at line 63 of file ifmap_dependency_manager.h.

DBEntry* IFMapNodeState::object ( )
inline

Definition at line 46 of file ifmap_dependency_manager.h.

bool IFMapNodeState::oper_db_request_enqueued ( ) const
inline

Definition at line 71 of file ifmap_dependency_manager.h.

void IFMapNodeState::set_notify ( bool  flag)
inline

Definition at line 55 of file ifmap_dependency_manager.h.

void IFMapNodeState::set_object ( DBEntry object)
inline

Definition at line 47 of file ifmap_dependency_manager.h.

Here is the call graph for this function:

void IFMapNodeState::set_oper_db_request_enqueued ( bool  oper_db_request_enqueued)
inline

Definition at line 59 of file ifmap_dependency_manager.h.

Here is the call graph for this function:

void IFMapNodeState::set_uuid ( const boost::uuids::uuid u)
inline

Definition at line 51 of file ifmap_dependency_manager.h.

void IFMapNodeState::SetValid ( )
inlinevirtual

Reimplemented from IFMapState.

Definition at line 183 of file ifmap_update.h.

Here is the call graph for this function:

void IFMapNodeState::SetValid ( const IFMapNode node)
inline

Definition at line 184 of file ifmap_update.h.

boost::uuids::uuid IFMapNodeState::uuid ( )
inline

Definition at line 65 of file ifmap_dependency_manager.h.

Friends And Related Function Documentation

void intrusive_ptr_add_ref ( IFMapNodeState state)
friend

Definition at line 55 of file ifmap_dependency_manager.cc.

void intrusive_ptr_release ( IFMapNodeState state)
friend

Definition at line 59 of file ifmap_dependency_manager.cc.

Member Data Documentation

IFMapDependencyManager* IFMapNodeState::manager_
private

Definition at line 79 of file ifmap_dependency_manager.h.

BitSet IFMapNodeState::nmask_
private

Definition at line 202 of file ifmap_update.h.

IFMapNode* IFMapNodeState::node_
private

Definition at line 80 of file ifmap_dependency_manager.h.

bool IFMapNodeState::notify_
private

Definition at line 84 of file ifmap_dependency_manager.h.

DBEntry* IFMapNodeState::object_
private

Definition at line 81 of file ifmap_dependency_manager.h.

bool IFMapNodeState::oper_db_request_enqueued_
private

Definition at line 85 of file ifmap_dependency_manager.h.

int IFMapNodeState::refcount_
private

Definition at line 83 of file ifmap_dependency_manager.h.

boost::uuids::uuid IFMapNodeState::uuid_
private

Definition at line 82 of file ifmap_dependency_manager.h.


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