OpenSDN source code
AclDBEntry Class Reference

#include <acl.h>

Inheritance diagram for AclDBEntry:
Collaboration diagram for AclDBEntry:

Public Types

typedef boost::intrusive::member_hook< AclEntry, boost::intrusive::list_member_hook<>, &AclEntry::acl_list_nodeAclEntryNode
 
typedef boost::intrusive::list< AclEntry, AclEntryNodeAclEntries
 
- Public Types inherited from AgentDBEntry
typedef boost::intrusive_ptr< AgentDBEntryAgentDBEntyRef
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr< DBRequestKeyKeyPtr
 

Public Member Functions

 AclDBEntry (const boost::uuids::uuid &id)
 
 ~AclDBEntry ()
 
bool IsLess (const DBEntry &rhs) const
 
KeyPtr GetDBRequestKey () const
 
void SetKey (const DBRequestKey *key)
 
std::string ToString () const
 
uint32_t GetRefCount () const
 
const boost::uuids::uuidGetUuid () const
 
const std::string & GetName () const
 
void SetName (const std::string name)
 
bool DBEntrySandesh (Sandesh *resp, std::string &name) const
 
void SetAclSandeshData (AclSandeshData &data) const
 
AclEntryAddAclEntry (const AclEntrySpec &acl_entry_spec, AclEntries &entries)
 
bool DeleteAclEntry (const uint32_t acl_entry_id)
 
void DeleteAllAclEntries ()
 
uint32_t Size () const
 
void SetAclEntries (AclEntries &entries)
 
void SetDynamicAcl (bool dyn)
 
bool GetDynamicAcl () const
 
bool PacketMatch (const PacketHeader &packet_header, MatchAclParams &m_acl, FlowPolicyInfo *info) const
 
bool Changed (const AclEntries &new_acl_entries) const
 
uint32_t ace_count () const
 
bool IsRulePresent (const std::string &uuid) const
 
bool ResyncQosConfigEntries ()
 
bool IsQosConfigResolved ()
 
bool Isresolved ()
 
const AclEntryGetAclEntryAtIndex (uint32_t) const
 
- Public Member Functions inherited from AgentOperDBEntry
 AgentOperDBEntry ()
 
virtual ~AgentOperDBEntry ()
 
IFMapNodeifmap_node () const
 
void SetIFMapNodeState (IFMapDependencyManager::IFMapNodePtr sref)
 
- Public Member Functions inherited from AgentDBEntry
 AgentDBEntry ()
 
virtual ~AgentDBEntry ()
 
void SetRefState () const
 
void ClearRefState () const
 
bool IsActive () const
 
DBStateGetAgentDBEntryState (int listener_id)
 
const DBStateGetAgentDBEntryState (int listener_id) const
 
virtual void AllocateResources (ResourceManager *resource_manager)
 
virtual void FreeResources (ResourceManager *resource_manager)
 
virtual void PostAdd ()
 
- Public Member Functions inherited from DBEntry
 DBEntry ()
 
virtual ~DBEntry ()
 
bool operator< (const DBEntry &rhs) const
 
- Public Member Functions inherited from DBEntryBase
 DBEntryBase ()
 
virtual ~DBEntryBase ()
 
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 (AclDBEntry)
 
- Private Member Functions inherited from AgentRefCount< AclDBEntry >
uint32_t GetRefCount () const
 
 AgentRefCount ()
 
 AgentRefCount (const AgentRefCount &)
 
AgentRefCountoperator= (const AgentRefCount &)
 
virtual ~AgentRefCount ()
 
void swap (AgentRefCount &)
 

Private Attributes

boost::uuids::uuid uuid_
 
bool dynamic_acl_
 
std::string name_
 
AclEntries acl_entries_
 
- Private Attributes inherited from AgentRefCount< AclDBEntry >
tbb::mutex back_ref_mutex_
 
std::set< IntrusiveReferrerback_ref_set_
 

Friends

class AclTable
 

Additional Inherited Members

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

Detailed Description

Definition at line 92 of file acl.h.

Member Typedef Documentation

◆ AclEntries

typedef boost::intrusive::list<AclEntry, AclEntryNode> AclDBEntry::AclEntries

Definition at line 97 of file acl.h.

◆ AclEntryNode

typedef boost::intrusive::member_hook<AclEntry, boost::intrusive::list_member_hook<>, &AclEntry::acl_list_node> AclDBEntry::AclEntryNode

Definition at line 96 of file acl.h.

Constructor & Destructor Documentation

◆ AclDBEntry()

AclDBEntry::AclDBEntry ( const boost::uuids::uuid id)
inline

Definition at line 99 of file acl.h.

◆ ~AclDBEntry()

AclDBEntry::~AclDBEntry ( )
inline

Definition at line 102 of file acl.h.

Member Function Documentation

◆ ace_count()

uint32_t AclDBEntry::ace_count ( ) const
inline

Definition at line 132 of file acl.h.

◆ AddAclEntry()

AclEntry * AclDBEntry::AddAclEntry ( const AclEntrySpec acl_entry_spec,
AclEntries entries 
)

Definition at line 726 of file acl.cc.

Here is the call graph for this function:

◆ Changed()

bool AclDBEntry::Changed ( const AclEntries new_acl_entries) const

Definition at line 902 of file acl.cc.

◆ DBEntrySandesh()

bool AclDBEntry::DBEntrySandesh ( Sandesh resp,
std::string &  name 
) const
virtual

Implements AgentDBEntry.

Definition at line 68 of file acl.cc.

Here is the call graph for this function:

◆ DeleteAclEntry()

bool AclDBEntry::DeleteAclEntry ( const uint32_t  acl_entry_id)

Definition at line 768 of file acl.cc.

Here is the call graph for this function:

◆ DeleteAllAclEntries()

void AclDBEntry::DeleteAllAclEntries ( )

Definition at line 786 of file acl.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

AclDBEntry::DISALLOW_COPY_AND_ASSIGN ( AclDBEntry  )
private

◆ GetAclEntryAtIndex()

const AclEntry * AclDBEntry::GetAclEntryAtIndex ( uint32_t  index) const

Definition at line 888 of file acl.cc.

◆ GetDBRequestKey()

DBEntryBase::KeyPtr AclDBEntry::GetDBRequestKey ( ) const
virtual

Implements DBEntryBase.

Definition at line 58 of file acl.cc.

◆ GetDynamicAcl()

bool AclDBEntry::GetDynamicAcl ( ) const
inline

Definition at line 126 of file acl.h.

◆ GetName()

const std::string& AclDBEntry::GetName ( ) const
inline

Definition at line 113 of file acl.h.

◆ GetRefCount()

uint32_t AclDBEntry::GetRefCount ( ) const
inlinevirtual

Implements AgentDBEntry.

Definition at line 109 of file acl.h.

Here is the call graph for this function:

◆ GetUuid()

const boost::uuids::uuid& AclDBEntry::GetUuid ( ) const
inline

Definition at line 112 of file acl.h.

◆ IsLess()

bool AclDBEntry::IsLess ( const DBEntry rhs) const
virtual

Implements DBEntry.

Definition at line 47 of file acl.cc.

◆ IsQosConfigResolved()

bool AclDBEntry::IsQosConfigResolved ( )

Definition at line 699 of file acl.cc.

Here is the call graph for this function:

◆ Isresolved()

bool AclDBEntry::Isresolved ( )

◆ IsRulePresent()

bool AclDBEntry::IsRulePresent ( const std::string &  uuid) const

Definition at line 937 of file acl.cc.

Here is the call graph for this function:

◆ PacketMatch()

bool AclDBEntry::PacketMatch ( const PacketHeader packet_header,
MatchAclParams m_acl,
FlowPolicyInfo info 
) const

Definition at line 798 of file acl.cc.

Here is the call graph for this function:

◆ ResyncQosConfigEntries()

bool AclDBEntry::ResyncQosConfigEntries ( )

Definition at line 712 of file acl.cc.

Here is the call graph for this function:

◆ SetAclEntries()

void AclDBEntry::SetAclEntries ( AclEntries entries)

Definition at line 687 of file acl.cc.

◆ SetAclSandeshData()

void AclDBEntry::SetAclSandeshData ( AclSandeshData &  data) const

Definition at line 89 of file acl.cc.

◆ SetDynamicAcl()

void AclDBEntry::SetDynamicAcl ( bool  dyn)
inline

Definition at line 125 of file acl.h.

◆ SetKey()

void AclDBEntry::SetKey ( const DBRequestKey key)
virtual

Implements DBEntry.

Definition at line 63 of file acl.cc.

◆ SetName()

void AclDBEntry::SetName ( const std::string  name)
inline

Definition at line 114 of file acl.h.

◆ Size()

uint32_t AclDBEntry::Size ( ) const
inline

Definition at line 123 of file acl.h.

◆ ToString()

std::string AclDBEntry::ToString ( ) const
virtual

Implements DBEntryBase.

Definition at line 52 of file acl.cc.

Friends And Related Function Documentation

◆ AclTable

friend class AclTable
friend

Definition at line 139 of file acl.h.

Member Data Documentation

◆ acl_entries_

AclEntries AclDBEntry::acl_entries_
private

Definition at line 143 of file acl.h.

◆ dynamic_acl_

bool AclDBEntry::dynamic_acl_
private

Definition at line 141 of file acl.h.

◆ name_

std::string AclDBEntry::name_
private

Definition at line 142 of file acl.h.

◆ uuid_

boost::uuids::uuid AclDBEntry::uuid_
private

Definition at line 140 of file acl.h.


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