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

#include <route.h>

Inheritance diagram for Route:
Collaboration diagram for Route:

Public Types

typedef
boost::intrusive::member_hook
< Path,
boost::intrusive::list_member_hook
<>,&Path::node_
PathListMember
 
typedef boost::intrusive::list
< Path, PathListMember
PathList
 
typedef bool(* Compare )(const Path &path1, const Path &path2)
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr
< DBRequestKey
KeyPtr
 

Public Member Functions

 Route ()
 
virtual ~Route ()
 
virtual int CompareTo (const Route &rhs) const =0
 
bool operator< (const Route &rhs) const
 
const Pathfront () const
 
void insert (const Path *path)
 
void remove (const Path *path)
 
void Sort (Compare compare, const Path *prev_front)
 
const PathListGetPathList () const
 
PathListGetPathList ()
 
- Public Member Functions inherited from DBEntry
 DBEntry ()
 
virtual ~DBEntry ()
 
virtual void SetKey (const DBRequestKey *key)=0
 
virtual bool IsLess (const DBEntry &rhs) const =0
 
bool operator< (const DBEntry &rhs) const
 
- Public Member Functions inherited from DBEntryBase
 DBEntryBase ()
 
virtual ~DBEntryBase ()
 
virtual std::string ToString () const =0
 
virtual KeyPtr GetDBRequestKey () const =0
 
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 (Route)
 

Private Attributes

PathList path_
 

Additional Inherited Members

- Public Attributes inherited from DBEntryBase
boost::intrusive::list_member_hook chg_list_
 

Detailed Description

Definition at line 14 of file route.h.

Member Typedef Documentation

typedef bool(* Route::Compare)(const Path &path1, const Path &path2)

Definition at line 21 of file route.h.

typedef boost::intrusive::list<Path, PathListMember> Route::PathList

Definition at line 20 of file route.h.

typedef boost::intrusive::member_hook<Path, boost::intrusive::list_member_hook<>, &Path::node_> Route::PathListMember

Definition at line 18 of file route.h.

Constructor & Destructor Documentation

Route::Route ( )

Definition at line 9 of file route.cc.

Route::~Route ( )
virtual

Definition at line 12 of file route.cc.

Member Function Documentation

Route::DISALLOW_COPY_AND_ASSIGN ( Route  )
private
const Path * Route::front ( ) const

Definition at line 16 of file route.cc.

const PathList& Route::GetPathList ( ) const
inline

Definition at line 46 of file route.h.

PathList& Route::GetPathList ( )
inline

Definition at line 50 of file route.h.

void Route::insert ( const Path path)

Definition at line 24 of file route.cc.

Here is the call graph for this function:

bool Route::operator< ( const Route rhs) const
inline

Definition at line 29 of file route.h.

Here is the call graph for this function:

void Route::remove ( const Path path)

Definition at line 32 of file route.cc.

Here is the call graph for this function:

void Route::Sort ( Compare  compare,
const Path prev_front 
)

Definition at line 40 of file route.cc.

Here is the call graph for this function:

Member Data Documentation

PathList Route::path_
private

Definition at line 56 of file route.h.


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