OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BFD::Server::SessionManager Class Reference
Inheritance diagram for BFD::Server::SessionManager:
Collaboration diagram for BFD::Server::SessionManager:

Public Member Functions

 SessionManager (EventManager *evm)
 
 ~SessionManager ()
 
ResultCode ConfigureSession (const SessionKey &key, const SessionConfig &config, Connection *communicator, Discriminator *assignedDiscriminator)
 
ResultCode RemoveSessionReference (const SessionKey &key)
 
SessionSessionByDiscriminator (Discriminator discriminator)
 
SessionSessionByKey (const SessionKey &key)
 
SessionSessionByKey (const SessionKey &key) const
 

Private Types

typedef std::map
< Discriminator, Session * > 
DiscriminatorSessionMap
 
typedef std::map< SessionKey,
Session * > 
KeySessionMap
 
typedef std::map< Session
*, unsigned int > 
RefcountMap
 

Private Member Functions

Discriminator GenerateUniqueDiscriminator ()
 

Private Attributes

EventManagerevm_
 
DiscriminatorSessionMap by_discriminator_
 
KeySessionMap by_key_
 
RefcountMap refcounts_
 

Detailed Description

Definition at line 64 of file bfd_server.h.

Member Typedef Documentation

Definition at line 82 of file bfd_server.h.

Definition at line 83 of file bfd_server.h.

typedef std::map<Session *, unsigned int> BFD::Server::SessionManager::RefcountMap
private

Definition at line 84 of file bfd_server.h.

Constructor & Destructor Documentation

BFD::Server::SessionManager::SessionManager ( EventManager evm)
inlineexplicit

Definition at line 66 of file bfd_server.h.

BFD::Server::SessionManager::~SessionManager ( )

Definition at line 331 of file bfd_server.cc.

Member Function Documentation

ResultCode BFD::Server::SessionManager::ConfigureSession ( const SessionKey key,
const SessionConfig config,
Connection communicator,
Discriminator assignedDiscriminator 
)

Definition at line 282 of file bfd_server.cc.

Here is the call graph for this function:

Discriminator BFD::Server::SessionManager::GenerateUniqueDiscriminator ( )
private

Definition at line 310 of file bfd_server.cc.

ResultCode BFD::Server::SessionManager::RemoveSessionReference ( const SessionKey key)

Definition at line 265 of file bfd_server.cc.

Here is the call graph for this function:

Session * BFD::Server::SessionManager::SessionByDiscriminator ( Discriminator  discriminator)

Definition at line 246 of file bfd_server.cc.

Session * BFD::Server::SessionManager::SessionByKey ( const SessionKey key)

Definition at line 255 of file bfd_server.cc.

Session * BFD::Server::SessionManager::SessionByKey ( const SessionKey key) const

Definition at line 260 of file bfd_server.cc.

Member Data Documentation

DiscriminatorSessionMap BFD::Server::SessionManager::by_discriminator_
private

Definition at line 89 of file bfd_server.h.

KeySessionMap BFD::Server::SessionManager::by_key_
private

Definition at line 90 of file bfd_server.h.

EventManager* BFD::Server::SessionManager::evm_
private

Definition at line 88 of file bfd_server.h.

RefcountMap BFD::Server::SessionManager::refcounts_
private

Definition at line 91 of file bfd_server.h.


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