OpenSDN source code
|
#include <lifetime.h>
Public Member Functions | |
LifetimeActor (LifetimeManager *manager) | |
virtual | ~LifetimeActor () |
virtual void | Delete () |
void | RetryDelete () |
void | PauseDelete () |
void | ResumeDelete () |
bool | IsDeleted () const |
bool | HasDependents () const |
bool | HasRefcount () const |
const uint64_t | create_time_stamp_usecs () const |
const uint64_t | delete_time_stamp_usecs () const |
Private Types | |
typedef DependencyList < LifetimeRefBase, LifetimeActor > | Dependents |
Private Member Functions | |
virtual bool | MayDelete () const =0 |
virtual void | Shutdown () |
virtual void | DeleteComplete () |
virtual void | Destroy ()=0 |
void | PropagateDelete () |
void | DependencyAdd (DependencyRef< LifetimeRefBase, LifetimeActor > *node) |
void | DependencyRemove (DependencyRef< LifetimeRefBase, LifetimeActor > *node) |
void | ReferenceIncrement () |
bool | ReferenceDecrementAndTest () |
bool | shutdown_invoked () |
void | set_shutdown_invoked () |
DISALLOW_COPY_AND_ASSIGN (LifetimeActor) | |
Private Attributes | |
tbb::mutex | mutex_ |
LifetimeManager * | manager_ |
tbb::atomic< bool > | deleted_ |
int | refcount_ |
bool | shutdown_invoked_ |
bool | delete_paused_ |
uint64_t | create_time_stamp_usecs_ |
uint64_t | delete_time_stamp_usecs_ |
Dependents | dependents_ |
Friends | |
class | DependencyRef< LifetimeRefBase, LifetimeActor > |
class | LifetimeManager |
Definition at line 116 of file lifetime.h.
|
private |
Definition at line 143 of file lifetime.h.
LifetimeActor::LifetimeActor | ( | LifetimeManager * | manager | ) |
Definition at line 18 of file lifetime.cc.
|
virtual |
|
inline |
Definition at line 135 of file lifetime.h.
|
virtual |
|
inline |
Definition at line 138 of file lifetime.h.
|
privatevirtual |
Definition at line 81 of file lifetime.cc.
|
private |
|
private |
|
privatepure virtual |
Implemented in RoutingInstance::DeleteActor, XmppClientConnection::DeleteActor, XmppServerConnection::DeleteActor, RouteAggregator< T >::DeleteActor< T >, BgpServer::DeleteActor, MvpnManager::DeleteActor, RoutingPolicy::DeleteActor, ServiceChainMgr< T >::DeleteActor< T >, BgpPeer::DeleteActor, SandeshServerConnection::DeleteActor, PathResolver::DeleteActor, MvpnProjectManager::DeleteActor, EvpnManager::DeleteActor, TableState::DeleteActor, RoutingInstanceMgr::DeleteActor, VrfEntry::DeleteActor, BgpTable::DeleteActor, AgentRouteTable::DeleteActor, McastTreeManager::DeleteActor, XmppServer::DeleteActor, SandeshServer::DeleteActor, XmppClient::DeleteActor, and RoutingPolicyMgr::DeleteActor.
|
private |
|
inline |
|
inline |
Definition at line 133 of file lifetime.h.
|
inline |
Definition at line 131 of file lifetime.h.
|
privatepure virtual |
Implemented in RoutingInstance::DeleteActor, XmppClientConnection::DeleteActor, XmppServerConnection::DeleteActor, RouteAggregator< T >::DeleteActor< T >, BgpServer::DeleteActor, MvpnManager::DeleteActor, RoutingPolicy::DeleteActor, ServiceChainMgr< T >::DeleteActor< T >, BgpPeer::DeleteActor, SandeshServerConnection::DeleteActor, PathResolver::DeleteActor, MvpnProjectManager::DeleteActor, EvpnManager::DeleteActor, TableState::DeleteActor, RoutingInstanceMgr::DeleteActor, VrfEntry::DeleteActor, AgentRouteTable::DeleteActor, BgpTable::DeleteActor, McastTreeManager::DeleteActor, XmppServer::DeleteActor, SandeshServer::DeleteActor, RoutingPolicyMgr::DeleteActor, and XmppClient::DeleteActor.
void LifetimeActor::PauseDelete | ( | ) |
Definition at line 101 of file lifetime.cc.
|
private |
|
private |
|
private |
Definition at line 153 of file lifetime.cc.
void LifetimeActor::ResumeDelete | ( | ) |
void LifetimeActor::RetryDelete | ( | ) |
|
inlineprivate |
Definition at line 167 of file lifetime.h.
|
privatevirtual |
Reimplemented in RoutingInstance::DeleteActor, XmppClientConnection::DeleteActor, XmppServerConnection::DeleteActor, BgpServer::DeleteActor, MvpnManager::DeleteActor, RoutingPolicy::DeleteActor, ServiceChainMgr< T >::DeleteActor< T >, BgpPeer::DeleteActor, SandeshServerConnection::DeleteActor, MvpnProjectManager::DeleteActor, EvpnManager::DeleteActor, TableState::DeleteActor, RoutingInstanceMgr::DeleteActor, VrfEntry::DeleteActor, AgentRouteTable::DeleteActor, BgpTable::DeleteActor, McastTreeManager::DeleteActor, XmppServer::DeleteActor, SandeshServer::DeleteActor, XmppClient::DeleteActor, and RoutingPolicyMgr::DeleteActor.
Definition at line 92 of file lifetime.cc.
|
inlineprivate |
Definition at line 166 of file lifetime.h.
|
friend |
Definition at line 144 of file lifetime.h.
|
friend |
Definition at line 145 of file lifetime.h.
|
private |
Definition at line 175 of file lifetime.h.
|
private |
Definition at line 174 of file lifetime.h.
|
private |
Definition at line 176 of file lifetime.h.
|
private |
Definition at line 171 of file lifetime.h.
|
private |
Definition at line 177 of file lifetime.h.
|
private |
Definition at line 170 of file lifetime.h.
|
private |
Definition at line 169 of file lifetime.h.
|
private |
Definition at line 172 of file lifetime.h.
|
private |
Definition at line 173 of file lifetime.h.