OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OVSDB::OvsdbClient Class Referenceabstract

#include <ovsdb_client.h>

Inheritance diagram for OVSDB::OvsdbClient:
Collaboration diagram for OVSDB::OvsdbClient:

Public Types

typedef boost::function< void(OvsdbClientSession *)> SessionEventCb
 

Public Member Functions

 OvsdbClient (OvsPeerManager *manager, int keepalive_interval, int ha_stale_route_interval)
 
virtual ~OvsdbClient ()
 
virtual void RegisterClients ()=0
 
virtual const std::string protocol ()=0
 
virtual const std::string server ()=0
 
virtual uint16_t port ()=0
 
virtual Ip4Address tsn_ip ()=0
 
virtual OvsdbClientSessionFindSession (Ip4Address ip, uint16_t port)=0
 
virtual OvsdbClientSessionNextSession (OvsdbClientSession *session)=0
 
virtual void AddSessionInfo (SandeshOvsdbClient &client)=0
 
virtual void shutdown ()=0
 
void set_connect_complete_cb (SessionEventCb cb)
 
void set_pre_connect_complete_cb (SessionEventCb cb)
 
void RegisterConnectionTable (Agent *agent)
 
ConnectionStateTableconnection_table ()
 
KSyncObjectManagerksync_obj_manager ()
 
int keepalive_interval () const
 
int ha_stale_route_interval () const
 
void Init ()
 

Static Public Member Functions

static OvsdbClientAllocate (Agent *agent, TorAgentParam *params, OvsPeerManager *manager)
 

Static Public Attributes

static const uint32_t OVSDBKeepAliveTimer = 10000
 
static const int OVSDBMinKeepAliveTimer = 2000
 
static const uint32_t OVSDBHaStaleRouteTimer = 300000
 
static const int OVSDBMinHaStaleRouteTimer = 60000
 

Protected Attributes

OvsPeerManagerpeer_manager_
 
SessionEventCb connect_complete_cb_
 
SessionEventCb pre_connect_complete_cb_
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (OvsdbClient)
 

Private Attributes

boost::scoped_ptr
< ConnectionStateTable
connection_table_
 
KSyncObjectManagerksync_obj_manager_
 
int keepalive_interval_
 
int ha_stale_route_interval_
 

Detailed Description

Definition at line 17 of file ovsdb_client.h.

Member Typedef Documentation

typedef boost::function<void (OvsdbClientSession *)> OVSDB::OvsdbClient::SessionEventCb

Definition at line 19 of file ovsdb_client.h.

Constructor & Destructor Documentation

OvsdbClient::OvsdbClient ( OvsPeerManager manager,
int  keepalive_interval,
int  ha_stale_route_interval 
)

Definition at line 18 of file ovsdb_client.cc.

OvsdbClient::~OvsdbClient ( )
virtual

Definition at line 25 of file ovsdb_client.cc.

Member Function Documentation

virtual void OVSDB::OvsdbClient::AddSessionInfo ( SandeshOvsdbClient &  client)
pure virtual
OvsdbClient * OvsdbClient::Allocate ( Agent agent,
TorAgentParam params,
OvsPeerManager manager 
)
static

Definition at line 78 of file ovsdb_client.cc.

Here is the call graph for this function:

ConnectionStateTable * OvsdbClient::connection_table ( )

Definition at line 40 of file ovsdb_client.cc.

OVSDB::OvsdbClient::DISALLOW_COPY_AND_ASSIGN ( OvsdbClient  )
private
virtual OvsdbClientSession* OVSDB::OvsdbClient::FindSession ( Ip4Address  ip,
uint16_t  port 
)
pure virtual
int OvsdbClient::ha_stale_route_interval ( ) const

Definition at line 62 of file ovsdb_client.cc.

void OvsdbClient::Init ( )

Definition at line 75 of file ovsdb_client.cc.

int OvsdbClient::keepalive_interval ( ) const

Definition at line 48 of file ovsdb_client.cc.

KSyncObjectManager * OvsdbClient::ksync_obj_manager ( )

Definition at line 44 of file ovsdb_client.cc.

virtual OvsdbClientSession* OVSDB::OvsdbClient::NextSession ( OvsdbClientSession session)
pure virtual
virtual uint16_t OVSDB::OvsdbClient::port ( )
pure virtual
virtual const std::string OVSDB::OvsdbClient::protocol ( )
pure virtual
virtual void OVSDB::OvsdbClient::RegisterClients ( )
pure virtual
void OvsdbClient::RegisterConnectionTable ( Agent agent)

Definition at line 36 of file ovsdb_client.cc.

virtual const std::string OVSDB::OvsdbClient::server ( )
pure virtual
void OvsdbClient::set_connect_complete_cb ( SessionEventCb  cb)

Definition at line 28 of file ovsdb_client.cc.

void OvsdbClient::set_pre_connect_complete_cb ( SessionEventCb  cb)

Definition at line 32 of file ovsdb_client.cc.

virtual void OVSDB::OvsdbClient::shutdown ( )
pure virtual
virtual Ip4Address OVSDB::OvsdbClient::tsn_ip ( )
pure virtual

Member Data Documentation

SessionEventCb OVSDB::OvsdbClient::connect_complete_cb_
protected

Definition at line 66 of file ovsdb_client.h.

boost::scoped_ptr<ConnectionStateTable> OVSDB::OvsdbClient::connection_table_
private

Definition at line 70 of file ovsdb_client.h.

int OVSDB::OvsdbClient::ha_stale_route_interval_
private

Definition at line 73 of file ovsdb_client.h.

int OVSDB::OvsdbClient::keepalive_interval_
private

Definition at line 72 of file ovsdb_client.h.

KSyncObjectManager* OVSDB::OvsdbClient::ksync_obj_manager_
private

Definition at line 71 of file ovsdb_client.h.

const uint32_t OVSDB::OvsdbClient::OVSDBHaStaleRouteTimer = 300000
static

Definition at line 26 of file ovsdb_client.h.

const uint32_t OVSDB::OvsdbClient::OVSDBKeepAliveTimer = 10000
static

Definition at line 21 of file ovsdb_client.h.

const int OVSDB::OvsdbClient::OVSDBMinHaStaleRouteTimer = 60000
static

Definition at line 29 of file ovsdb_client.h.

const int OVSDB::OvsdbClient::OVSDBMinKeepAliveTimer = 2000
static

Definition at line 24 of file ovsdb_client.h.

OvsPeerManager* OVSDB::OvsdbClient::peer_manager_
protected

Definition at line 64 of file ovsdb_client.h.

SessionEventCb OVSDB::OvsdbClient::pre_connect_complete_cb_
protected

Definition at line 67 of file ovsdb_client.h.


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