OpenSDN source code
|
#include <db_entry.h>
Public Types | |
typedef DBTableBase::ListenerId | ListenerId |
typedef std::unique_ptr < DBRequestKey > | KeyPtr |
Public Member Functions | |
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 () |
Public Attributes | |
boost::intrusive::list_member_hook | chg_list_ |
Private Types | |
enum | DbEntryFlags { Onlist = 1 << 0, DeleteMarked = 1 << 1 } |
typedef std::map< ListenerId, DBState * > | StateMap |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (DBEntryBase) | |
Private Attributes | |
DBTablePartBase * | tpart_ |
StateMap | state_ |
uint8_t | flags |
tbb::atomic< bool > | onremoveq_ |
uint64_t | last_change_at_ |
uint64_t | last_update_at_ |
Definition at line 22 of file db_entry.h.
typedef std::unique_ptr<DBRequestKey> DBEntryBase::KeyPtr |
Definition at line 25 of file db_entry.h.
Definition at line 24 of file db_entry.h.
|
private |
Definition at line 83 of file db_entry.h.
|
private |
Enumerator | |
---|---|
Onlist | |
DeleteMarked |
Definition at line 79 of file db_entry.h.
DBEntryBase::DBEntryBase | ( | ) |
Definition at line 14 of file db_entry.cc.
|
virtual |
Definition at line 19 of file db_entry.cc.
|
inline |
Definition at line 52 of file db_entry.h.
|
inline |
Definition at line 48 of file db_entry.h.
|
inline |
Definition at line 59 of file db_entry.h.
void DBEntryBase::ClearState | ( | DBTableBase * | tbl_base, |
ListenerId | listener | ||
) |
void DBEntryBase::Delete | ( | ) |
|
private |
DBTableBase * DBEntryBase::get_table | ( | ) | const |
DBTablePartBase * DBEntryBase::get_table_partition | ( | ) | const |
Definition at line 115 of file db_entry.cc.
|
pure virtual |
Implemented in CompositeNH, VlanNH, VrfNH, InterfaceNH, VmInterface, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, HealthCheckService, AgentRoute, EvpnRouteEntry, MirrorNH, EvpnRoute, VnEntry, MvpnRoute, VlanLogicalInterface, BridgeRouteEntry, AclDBEntry, ServiceInstance, LabelledTunnelNH, VrfEntry, VlanVrfAssign, ErmVpnRoute, Inet6Route, TagEntry, Interface, PhysicalDeviceVn, PhysicalDevice, InetUnicastRouteEntry, PolicySet, InetRoute, Inet4MulticastRouteEntry, Inet6VpnRoute, MirrorEntry, SecurityLoggingObject, MplsLabel, CryptTunnelEntry, ForwardingClass, MulticastPolicyEntry, BridgeDomainEntry, AgentQosConfig, PhysicalInterface, QosQueue, SgEntry, IFMapLink, VmEntry, Policy, InetVpnRoute, InetInterface, IFMapNode, RTargetRoute, TunnelNH, VxLanId, PacketInterface, and RemotePhysicalInterface.
DBState * DBEntryBase::GetState | ( | DBTableBase * | tbl_base, |
ListenerId | listener | ||
) | const |
const DBState * DBEntryBase::GetState | ( | const DBTableBase * | tbl_base, |
ListenerId | listener | ||
) | const |
|
inline |
Definition at line 53 of file db_entry.h.
bool DBEntryBase::is_state_empty | ( | DBTablePartBase * | tpart | ) |
bool DBEntryBase::is_state_empty_unlocked | ( | DBTablePartBase * | tpart | ) |
Definition at line 92 of file db_entry.cc.
|
inline |
Definition at line 49 of file db_entry.h.
|
inlinevirtual |
Reimplemented in Inet6Route, InetRoute, Inet6VpnRoute, and InetVpnRoute.
Definition at line 34 of file db_entry.h.
|
inlinevirtual |
Reimplemented in Inet6Route, InetRoute, Inet6VpnRoute, and InetVpnRoute.
Definition at line 31 of file db_entry.h.
|
inline |
Definition at line 58 of file db_entry.h.
|
inline |
Definition at line 68 of file db_entry.h.
const std::string DBEntryBase::last_change_at_str | ( | ) | const |
|
inline |
Definition at line 72 of file db_entry.h.
|
inline |
Definition at line 47 of file db_entry.h.
void DBEntryBase::Notify | ( | ) |
void DBEntryBase::set_last_change_at | ( | uint64_t | time | ) |
Definition at line 100 of file db_entry.cc.
void DBEntryBase::set_last_change_at_to_now | ( | ) |
void DBEntryBase::set_last_update_at | ( | uint64_t | time | ) |
Definition at line 108 of file db_entry.cc.
void DBEntryBase::set_last_update_at_to_now | ( | ) |
|
inline |
Definition at line 51 of file db_entry.h.
void DBEntryBase::set_table_partition | ( | DBTablePartBase * | tpart | ) |
Definition at line 111 of file db_entry.cc.
|
inline |
Definition at line 55 of file db_entry.h.
void DBEntryBase::SetState | ( | DBTableBase * | tbl_base, |
ListenerId | listener, | ||
DBState * | state | ||
) |
|
pure virtual |
Implemented in CompositeNH, VrfNH, InterfaceNH, VmInterface, PBBNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, NextHop, HealthCheckService, AgentRoute, EvpnRouteEntry, MirrorNH, VnEntry, EvpnRoute, MvpnRoute, DBGraphVertex, BridgeRouteEntry, AclDBEntry, ServiceInstance, VrfEntry, LabelledTunnelNH, VlanVrfAssign, TagEntry, Inet6Route, PhysicalDevice, ErmVpnRoute, InetUnicastRouteEntry, PhysicalDeviceVn, PolicySet, Inet4MulticastRouteEntry, InetRoute, MirrorEntry, SecurityLoggingObject, CryptTunnelEntry, MplsLabel, Inet6VpnRoute, ForwardingClass, MulticastPolicyEntry, AgentQosConfig, BridgeDomainEntry, SgEntry, IFMapLink, PhysicalInterface, QosQueue, Policy, VmEntry, InetInterface, LogicalInterface, IFMapNode, InetVpnRoute, RTargetRoute, VxLanId, PacketInterface, RemotePhysicalInterface, and TunnelNH.
boost::intrusive::list_member_hook DBEntryBase::chg_list_ |
Definition at line 64 of file db_entry.h.
|
private |
Definition at line 86 of file db_entry.h.
|
private |
Definition at line 88 of file db_entry.h.
|
private |
Definition at line 89 of file db_entry.h.
|
private |
Definition at line 87 of file db_entry.h.
|
private |
Definition at line 85 of file db_entry.h.
|
private |
Definition at line 84 of file db_entry.h.