OpenSDN source code
AgentDnsXmppChannel Class Reference

#include <controller_dns.h>

Collaboration diagram for AgentDnsXmppChannel:

Public Types

typedef boost::function< void(DnsUpdateData *, DnsAgentXmpp::XmppType, VmInterface const *, bool)> DnsMessageHandler
 
typedef boost::function< void(AgentDnsXmppChannel *)> DnsXmppEventHandler
 

Public Member Functions

 AgentDnsXmppChannel (Agent *agent, std::string xmpp_server, uint8_t xs_idx)
 
virtual ~AgentDnsXmppChannel ()
 
virtual std::string ToString () const
 
virtual bool SendMsg (uint8_t *msg, std::size_t len)
 
virtual void ReceiveMsg (const XmppStanza::XmppMessage *msg)
 
std::string GetXmppServer ()
 
uint8_t GetXmppServerIdx ()
 
XmppChannelGetXmppChannel ()
 
void UpdateConnectionInfo (xmps::PeerState state)
 
Agentagent () const
 
void RegisterXmppChannel (XmppChannel *channel)
 
void ReceiveDnsMessage (std::unique_ptr< XmlBase > impl)
 
void TimedOut ()
 

Static Public Member Functions

static void XmppClientChannelEvent (AgentDnsXmppChannel *peer, xmps::PeerState state)
 
static void HandleXmppClientChannelEvent (AgentDnsXmppChannel *peer, xmps::PeerState state)
 
static void set_dns_message_handler_cb (DnsMessageHandler cb)
 
static void set_dns_xmpp_event_handler_cb (DnsXmppEventHandler cb)
 

Protected Member Functions

virtual void WriteReadyCb (const boost::system::error_code &ec)
 

Private Member Functions

void ReceiveInternal (const XmppStanza::XmppMessage *msg)
 

Private Attributes

XmppChannelchannel_
 
std::string xmpp_server_
 
uint8_t xs_idx_
 
Agentagent_
 

Static Private Attributes

static DnsMessageHandler dns_message_handler_cb_
 
static DnsXmppEventHandler dns_xmpp_event_handler_cb_
 

Detailed Description

Definition at line 21 of file controller_dns.h.

Member Typedef Documentation

◆ DnsMessageHandler

Definition at line 27 of file controller_dns.h.

◆ DnsXmppEventHandler

Definition at line 28 of file controller_dns.h.

Constructor & Destructor Documentation

◆ AgentDnsXmppChannel()

AgentDnsXmppChannel::AgentDnsXmppChannel ( Agent agent,
std::string  xmpp_server,
uint8_t  xs_idx 
)
explicit

Definition at line 24 of file controller_dns.cc.

◆ ~AgentDnsXmppChannel()

AgentDnsXmppChannel::~AgentDnsXmppChannel ( )
virtual

Definition at line 30 of file controller_dns.cc.

Here is the call graph for this function:

Member Function Documentation

◆ agent()

Agent* AgentDnsXmppChannel::agent ( ) const
inline

Definition at line 47 of file controller_dns.h.

◆ GetXmppChannel()

XmppChannel* AgentDnsXmppChannel::GetXmppChannel ( )
inline

Definition at line 39 of file controller_dns.h.

◆ GetXmppServer()

std::string AgentDnsXmppChannel::GetXmppServer ( )
inline

Definition at line 37 of file controller_dns.h.

◆ GetXmppServerIdx()

uint8_t AgentDnsXmppChannel::GetXmppServerIdx ( )
inline

Definition at line 38 of file controller_dns.h.

◆ HandleXmppClientChannelEvent()

void AgentDnsXmppChannel::HandleXmppClientChannelEvent ( AgentDnsXmppChannel peer,
xmps::PeerState  state 
)
static

Definition at line 135 of file controller_dns.cc.

Here is the call graph for this function:

◆ ReceiveDnsMessage()

void AgentDnsXmppChannel::ReceiveDnsMessage ( std::unique_ptr< XmlBase impl)

Definition at line 73 of file controller_dns.cc.

Here is the call graph for this function:

◆ ReceiveInternal()

void AgentDnsXmppChannel::ReceiveInternal ( const XmppStanza::XmppMessage msg)
private

Definition at line 69 of file controller_dns.cc.

Here is the call graph for this function:

◆ ReceiveMsg()

void AgentDnsXmppChannel::ReceiveMsg ( const XmppStanza::XmppMessage msg)
virtual

Definition at line 54 of file controller_dns.cc.

Here is the call graph for this function:

◆ RegisterXmppChannel()

void AgentDnsXmppChannel::RegisterXmppChannel ( XmppChannel channel)

Definition at line 37 of file controller_dns.cc.

Here is the call graph for this function:

◆ SendMsg()

bool AgentDnsXmppChannel::SendMsg ( uint8_t *  msg,
std::size_t  len 
)
virtual

Definition at line 46 of file controller_dns.cc.

Here is the call graph for this function:

◆ set_dns_message_handler_cb()

void AgentDnsXmppChannel::set_dns_message_handler_cb ( DnsMessageHandler  cb)
static

Definition at line 146 of file controller_dns.cc.

◆ set_dns_xmpp_event_handler_cb()

void AgentDnsXmppChannel::set_dns_xmpp_event_handler_cb ( DnsXmppEventHandler  cb)
static

Definition at line 150 of file controller_dns.cc.

◆ TimedOut()

void AgentDnsXmppChannel::TimedOut ( )

Definition at line 115 of file controller_dns.cc.

Here is the call graph for this function:

◆ ToString()

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

Definition at line 88 of file controller_dns.cc.

Here is the call graph for this function:

◆ UpdateConnectionInfo()

void AgentDnsXmppChannel::UpdateConnectionInfo ( xmps::PeerState  state)

Definition at line 154 of file controller_dns.cc.

Here is the call graph for this function:

◆ WriteReadyCb()

void AgentDnsXmppChannel::WriteReadyCb ( const boost::system::error_code &  ec)
protectedvirtual

Definition at line 92 of file controller_dns.cc.

◆ XmppClientChannelEvent()

void AgentDnsXmppChannel::XmppClientChannelEvent ( AgentDnsXmppChannel peer,
xmps::PeerState  state 
)
static

Definition at line 95 of file controller_dns.cc.

Here is the call graph for this function:

Member Data Documentation

◆ agent_

Agent* AgentDnsXmppChannel::agent_
private

Definition at line 62 of file controller_dns.h.

◆ channel_

XmppChannel* AgentDnsXmppChannel::channel_
private

Definition at line 57 of file controller_dns.h.

◆ dns_message_handler_cb_

AgentDnsXmppChannel::DnsMessageHandler AgentDnsXmppChannel::dns_message_handler_cb_
staticprivate

Definition at line 60 of file controller_dns.h.

◆ dns_xmpp_event_handler_cb_

AgentDnsXmppChannel::DnsXmppEventHandler AgentDnsXmppChannel::dns_xmpp_event_handler_cb_
staticprivate

Definition at line 61 of file controller_dns.h.

◆ xmpp_server_

std::string AgentDnsXmppChannel::xmpp_server_
private

Definition at line 58 of file controller_dns.h.

◆ xs_idx_

uint8_t AgentDnsXmppChannel::xs_idx_
private

Definition at line 59 of file controller_dns.h.


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