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

#include <qos_config.h>

Inheritance diagram for AgentQosConfig:
Collaboration diagram for AgentQosConfig:

Public Types

enum  Type { VHOST, FABRIC, DEFAULT }
 
typedef std::pair< uint32_t,
uint32_t > 
QosIdForwardingClassPair
 
typedef std::map< uint32_t,
uint32_t > 
QosIdForwardingClassMap
 
- Public Types inherited from AgentDBEntry
typedef boost::intrusive_ptr
< AgentDBEntry
AgentDBEntyRef
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr
< DBRequestKey
KeyPtr
 

Public Member Functions

 AgentQosConfig (const boost::uuids::uuid uuid)
 
virtual ~AgentQosConfig ()
 
KeyPtr GetDBRequestKey () const
 
std::string ToString () const
 
virtual bool IsLess (const DBEntry &rhs) const
 
virtual bool DBEntrySandesh (Sandesh *resp, std::string &name) const
 
virtual bool Change (const DBRequest *req)
 
virtual void Delete (const DBRequest *req)
 
virtual void SetKey (const DBRequestKey *key)
 
virtual bool DeleteOnZeroRefCount () const
 
virtual void OnZeroRefCount ()
 
uint32_t GetRefCount () const
 
boost::uuids::uuid uuid () const
 
void set_id (uint32_t id)
 
uint32_t id () const
 
std::string name () const
 
const QosIdForwardingClassMapdscp_map () const
 
const QosIdForwardingClassMapvlan_priority_map () const
 
const QosIdForwardingClassMapmpls_exp_map () const
 
Type type () const
 
uint32_t default_forwarding_class () const
 
int MsgLen ()
 
- 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 ()
 

Static Public Attributes

static const uint32_t kDefaultQosMsgSize = 4098
 

Private Member Functions

bool VerifyLinkToGlobalQosConfig (const Agent *agent, const AgentQosConfigData *data)
 
void HandleVhostQosConfig (const Agent *agent, const AgentQosConfigData *data, bool deleted)
 
void HandleFabricQosConfig (const Agent *agent, const AgentQosConfigData *data, bool deleted)
 
void HandleGlobalQosConfig (const AgentQosConfigData *data)
 
bool HandleQosForwardingMapChange (const Agent *agent, QosIdForwardingClassMap &map, const AgentQosIdForwardingClassMap &data_map)
 
 DISALLOW_COPY_AND_ASSIGN (AgentQosConfig)
 
- Private Member Functions inherited from AgentRefCount< AgentQosConfig >
uint32_t GetRefCount () const
 
 AgentRefCount ()
 
 AgentRefCount (const AgentRefCount &)
 
AgentRefCountoperator= (const AgentRefCount &)
 
virtual ~AgentRefCount ()
 
void swap (AgentRefCount &)
 

Private Attributes

boost::uuids::uuid uuid_
 
std::string name_
 
uint32_t id_
 
QosIdForwardingClassMap dscp_map_
 
QosIdForwardingClassMap vlan_priority_map_
 
QosIdForwardingClassMap mpls_exp_map_
 
Type type_
 
uint32_t default_forwarding_class_
 
- Private Attributes inherited from AgentRefCount< AgentQosConfig >
tbb::mutex back_ref_mutex_
 
std::set< IntrusiveReferrerback_ref_set_
 

Additional Inherited Members

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

Detailed Description

Definition at line 34 of file qos_config.h.

Member Typedef Documentation

typedef std::map<uint32_t, uint32_t> AgentQosConfig::QosIdForwardingClassMap

Definition at line 44 of file qos_config.h.

typedef std::pair<uint32_t, uint32_t> AgentQosConfig::QosIdForwardingClassPair

Definition at line 43 of file qos_config.h.

Member Enumeration Documentation

Enumerator
VHOST 
FABRIC 
DEFAULT 

Definition at line 38 of file qos_config.h.

Constructor & Destructor Documentation

AgentQosConfig::AgentQosConfig ( const boost::uuids::uuid  uuid)

Definition at line 20 of file qos_config.cc.

AgentQosConfig::~AgentQosConfig ( )
virtual

Definition at line 24 of file qos_config.cc.

Here is the call graph for this function:

Member Function Documentation

bool AgentQosConfig::Change ( const DBRequest req)
virtual

Definition at line 211 of file qos_config.cc.

Here is the call graph for this function:

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

Implements AgentDBEntry.

Definition at line 41 of file qos_config.cc.

Here is the call graph for this function:

uint32_t AgentQosConfig::default_forwarding_class ( ) const
inline

Definition at line 97 of file qos_config.h.

void AgentQosConfig::Delete ( const DBRequest req)
virtual

Definition at line 257 of file qos_config.cc.

Here is the call graph for this function:

virtual bool AgentQosConfig::DeleteOnZeroRefCount ( ) const
inlinevirtual

Definition at line 58 of file qos_config.h.

AgentQosConfig::DISALLOW_COPY_AND_ASSIGN ( AgentQosConfig  )
private
const QosIdForwardingClassMap& AgentQosConfig::dscp_map ( ) const
inline

Definition at line 81 of file qos_config.h.

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

Implements DBEntryBase.

Definition at line 30 of file qos_config.cc.

uint32_t AgentQosConfig::GetRefCount ( ) const
inlinevirtual

Implements AgentDBEntry.

Definition at line 62 of file qos_config.h.

Here is the call graph for this function:

void AgentQosConfig::HandleFabricQosConfig ( const Agent agent,
const AgentQosConfigData data,
bool  deleted 
)
private

Definition at line 168 of file qos_config.cc.

Here is the call graph for this function:

void AgentQosConfig::HandleGlobalQosConfig ( const AgentQosConfigData data)
private

Definition at line 200 of file qos_config.cc.

Here is the call graph for this function:

bool AgentQosConfig::HandleQosForwardingMapChange ( const Agent agent,
QosIdForwardingClassMap map,
const AgentQosIdForwardingClassMap data_map 
)
private

Definition at line 101 of file qos_config.cc.

void AgentQosConfig::HandleVhostQosConfig ( const Agent agent,
const AgentQosConfigData data,
bool  deleted 
)
private

Definition at line 137 of file qos_config.cc.

Here is the call graph for this function:

uint32_t AgentQosConfig::id ( ) const
inline

Definition at line 73 of file qos_config.h.

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

Implements DBEntry.

Definition at line 96 of file qos_config.cc.

const QosIdForwardingClassMap& AgentQosConfig::mpls_exp_map ( ) const
inline

Definition at line 89 of file qos_config.h.

int AgentQosConfig::MsgLen ( )
inline

Definition at line 101 of file qos_config.h.

std::string AgentQosConfig::name ( ) const
inline

Definition at line 77 of file qos_config.h.

virtual void AgentQosConfig::OnZeroRefCount ( )
inlinevirtual

Definition at line 61 of file qos_config.h.

void AgentQosConfig::set_id ( uint32_t  id)
inline

Definition at line 70 of file qos_config.h.

Here is the call graph for this function:

void AgentQosConfig::SetKey ( const DBRequestKey key)
virtual

Implements DBEntry.

Definition at line 266 of file qos_config.cc.

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

Implements DBEntryBase.

Definition at line 35 of file qos_config.cc.

Type AgentQosConfig::type ( ) const
inline

Definition at line 93 of file qos_config.h.

boost::uuids::uuid AgentQosConfig::uuid ( ) const
inline

Definition at line 66 of file qos_config.h.

bool AgentQosConfig::VerifyLinkToGlobalQosConfig ( const Agent agent,
const AgentQosConfigData data 
)
private

Definition at line 121 of file qos_config.cc.

Here is the call graph for this function:

const QosIdForwardingClassMap& AgentQosConfig::vlan_priority_map ( ) const
inline

Definition at line 85 of file qos_config.h.

Member Data Documentation

uint32_t AgentQosConfig::default_forwarding_class_
private

Definition at line 121 of file qos_config.h.

QosIdForwardingClassMap AgentQosConfig::dscp_map_
private

Definition at line 117 of file qos_config.h.

uint32_t AgentQosConfig::id_
private

Definition at line 116 of file qos_config.h.

const uint32_t AgentQosConfig::kDefaultQosMsgSize = 4098
static

Definition at line 37 of file qos_config.h.

QosIdForwardingClassMap AgentQosConfig::mpls_exp_map_
private

Definition at line 119 of file qos_config.h.

std::string AgentQosConfig::name_
private

Definition at line 115 of file qos_config.h.

Type AgentQosConfig::type_
private

Definition at line 120 of file qos_config.h.

boost::uuids::uuid AgentQosConfig::uuid_
private

Definition at line 114 of file qos_config.h.

QosIdForwardingClassMap AgentQosConfig::vlan_priority_map_
private

Definition at line 118 of file qos_config.h.


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