OpenSDN source code
|
#include <route.h>
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) |
![]() | |
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 Path * | front () const |
void | insert (const Path *path) |
void | remove (const Path *path) |
void | Sort (Compare compare, const Path *prev_front) |
const PathList & | GetPathList () const |
PathList & | GetPathList () |
![]() | |
DBEntry () | |
virtual | ~DBEntry () |
virtual void | SetKey (const DBRequestKey *key)=0 |
virtual bool | IsLess (const DBEntry &rhs) const =0 |
bool | operator< (const DBEntry &rhs) const |
![]() | |
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) |
DBState * | GetState (DBTableBase *tbl_base, ListenerId listener) const |
const DBState * | GetState (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 |
DBTablePartBase * | get_table_partition () const |
void | set_table_partition (DBTablePartBase *tpart) |
DBTableBase * | get_table () const |
void | Notify () |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (Route) | |
Private Attributes | |
PathList | path_ |
Additional Inherited Members | |
![]() | |
boost::intrusive::list_member_hook | chg_list_ |
typedef boost::intrusive::list<Path, PathListMember> Route::PathList |
typedef boost::intrusive::member_hook<Path, boost::intrusive::list_member_hook<>, &Path::node_> Route::PathListMember |
|
pure virtual |
Implemented in AgentRoute, EvpnRouteEntry, EvpnRoute, MvpnRoute, BridgeRouteEntry, Inet6Route, ErmVpnRoute, InetUnicastRouteEntry, Inet4MulticastRouteEntry, InetRoute, Inet6VpnRoute, InetVpnRoute, and RTargetRoute.
|
private |
void Route::insert | ( | const Path * | path | ) |
|
inline |
void Route::remove | ( | const Path * | path | ) |