OpenSDN source code
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

◆ DiscriminatorSessionMap

Definition at line 82 of file bfd_server.h.

◆ KeySessionMap

Definition at line 83 of file bfd_server.h.

◆ RefcountMap

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

Definition at line 84 of file bfd_server.h.

Constructor & Destructor Documentation

◆ SessionManager()

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

Definition at line 66 of file bfd_server.h.

◆ ~SessionManager()

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

Definition at line 331 of file bfd_server.cc.

Member Function Documentation

◆ ConfigureSession()

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:

◆ GenerateUniqueDiscriminator()

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

Definition at line 310 of file bfd_server.cc.

◆ RemoveSessionReference()

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:

◆ SessionByDiscriminator()

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

Definition at line 246 of file bfd_server.cc.

◆ SessionByKey() [1/2]

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

Definition at line 255 of file bfd_server.cc.

◆ SessionByKey() [2/2]

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

Definition at line 260 of file bfd_server.cc.

Member Data Documentation

◆ by_discriminator_

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

Definition at line 89 of file bfd_server.h.

◆ by_key_

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

Definition at line 90 of file bfd_server.h.

◆ evm_

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

Definition at line 88 of file bfd_server.h.

◆ refcounts_

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: