5 #ifndef __XMPP_CHANNEL_H__
6 #define __XMPP_CHANNEL_H__
8 #include <boost/asio/ip/tcp.hpp>
9 #include <boost/scoped_ptr.hpp>
10 #include <tbb/atomic.h>
11 #include <tbb/spin_mutex.h>
21 class ShowXmppConnection;
39 tbb::atomic<uint32_t>
open;
69 virtual boost::asio::ip::tcp::endpoint
endpoint()
const;
81 bool Send(
const uint8_t *data,
size_t size,
82 const std::string *msg_str = NULL);
96 const boost::system::error_code& error);
110 void SetTo(
const std::string &);
204 void LogMsg(std::string msg);
248 std::string error_message);
273 boost::scoped_ptr<XmppChannelMux>
mux_;
311 void FillShowInfo(ShowXmppConnection *show_connection)
const;
372 #endif // __XMPP_CHANNEL_H__
const std::string & FromString() const
void SetTo(const std::string &)
virtual void WriteReady()
boost::scoped_ptr< DeleteActor > deleter_
XmppSession * CreateSession()
virtual const std::string last_flap_at() const =0
std::string StateName() const
size_t get_stream_feature_fail()
void SetConfig(const XmppChannelConfig *)
tbb::atomic< uint32_t > update
virtual void set_close_reason(const std::string &reason)
virtual bool AcceptSession(XmppSession *session)
virtual LifetimeActor * deleter()=0
const std::string last_flap_at() const
virtual const std::string last_flap_at() const
virtual ~XmppServerConnection()
uint32_t flap_count() const
void KeepaliveTimerErrorHanlder(std::string error_name, std::string error_message)
void inc_stream_feature_fail()
tbb::atomic< uint32_t > open
tbb::atomic< uint32_t > close
bool KeepAliveTimerExpired()
const XmppChannelConfig * config_
uint32_t tx_update() const
virtual boost::asio::ip::tcp::endpoint endpoint() const
XmppServerConnection(XmppServer *server, const XmppChannelConfig *config)
bool disable_read() const
std::string endpoint_string() const
void UpdateKeepAliveTimer(uint8_t time_out)
XmppConnectionEndpoint * conn_endpoint()
void SetAdminState(bool down)
friend class XmppStateMachineTest
void set_state_machine(XmppStateMachine *state_machine)
size_t get_sm_keepalive_count()
bool on_work_queue() const
virtual void ManagedDelete()
void inc_handshake_failure()
void set_close_reason(const std::string &close_reason)
void set_conn_endpoint(XmppConnectionEndpoint *conn_endpoint)
boost::intrusive_ptr< SslSession > SslSessionPtr
std::string & GetControllerHostName()
tbb::atomic< uint32_t > keepalive
void StartKeepAliveTimer()
LifetimeRef< XmppServerConnection > server_delete_ref_
virtual void increment_flap_count()=0
virtual ~XmppClientConnection()
tbb::atomic< uint32_t > open_fail
void increment_flap_count()
boost::scoped_ptr< DeleteActor > deleter_
XmppConnection(TcpServer *server, const XmppChannelConfig *config)
virtual LifetimeActor * deleter()
std::unique_ptr< XmppStanza::XmppMessage > last_msg_
virtual ~XmppConnection()
std::string LastStateName() const
std::string & GetComputeHostName()
void SendClose(XmppSession *session)
int GetConfiguredHoldTime() const
XmppConnectionEndpoint(const std::string &client)
virtual void RetryDelete()
int GetNegotiatedHoldTime() const
void SetAdminDown(bool toggle)
xmsm::XmOpenConfirmState GetStateMcOpenConfirmState() const
virtual void increment_flap_count()
virtual bool SendProceedTls(XmppSession *session)
XmppConnection * connection()
bool Send(const uint8_t *data, size_t size, const std::string *msg_str=NULL)
const Timer * keepalive_timer() const
virtual void ManagedDelete()
virtual LifetimeActor * deleter()
virtual LifetimeManager * lifetime_manager()
std::string LastEvent() const
boost::asio::ip::tcp::endpoint local_endpoint_
std::string local_endpoint_string() const
virtual void RetryDelete()=0
virtual bool SendOpenConfirm(XmppSession *session)
int SetDscpValue(uint8_t value)
virtual void RetryDelete()
void StopKeepAliveTimer()
virtual const std::string last_flap_at() const
virtual bool SendStreamFeatureRequest(XmppSession *session)
LifetimeRef< XmppClientConnection > server_delete_ref_
xmsm::XmState GetStateMcState() const
tbb::atomic< uint32_t > session_close
virtual void set_close_reason(const std::string &reason)=0
bool IsActiveChannel() const
int ProcessXmppChatMessage(const XmppStanza::XmppChatMessage *)
virtual uint32_t flap_count() const
virtual void increment_flap_count()
XmppChannelMux * ChannelMux()
static const char * kAuthTypeNil
std::string GetXmppAuthenticationType() const
uint64_t last_flap() const
virtual void ReceiveMsg(XmppSession *session, const std::string &)
size_t get_sm_connect_attempts()
XmppClientConnection(XmppClient *server, const XmppChannelConfig *config)
void set_connection(XmppConnection *connection)
const std::string & ToString() const
void set_disable_read(bool disable_read)
virtual uint32_t flap_count() const =0
int GetTaskInstance() const
boost::scoped_ptr< XmppChannelMux > mux_
const XmppChannelMux * channel_mux() const
void set_session(XmppSession *session)
std::string close_reason_
void ProcessSslHandShakeResponse(SslSessionPtr session, const boost::system::error_code &error)
void SetChannelMux(XmppChannelMux *channel_mux)
size_t get_session_close()
tbb::atomic< uint32_t > stream_feature_fail
int ProcessXmppIqMessage(const XmppStanza::XmppMessage *)
virtual uint32_t flap_count() const
void IncProtoStats(unsigned int type)
std::string LastStateChangeAt() const
void SwapXmppStateMachine(XmppConnection *other)
tbb::atomic< uint32_t > handshake_fail
static const char * kAuthTypeTls
virtual void set_close_reason(const std::string &reason)
tbb::spin_mutex spin_mutex_
virtual void ManagedDelete()=0
void clear_on_work_queue()
size_t get_connect_error()
boost::scoped_ptr< XmppStateMachine > state_machine_
void FillShowInfo(ShowXmppConnection *show_connection) const
virtual bool SendOpen(XmppSession *session)
std::string close_reason_
DISALLOW_COPY_AND_ASSIGN(XmppConnection)
uint32_t rx_close() const
XmppStateMachine * state_machine()
boost::asio::ip::tcp::endpoint endpoint_
void LogMsg(std::string msg)
void SwapContents(XmppConnection *other)
const XmppSession * session() const
virtual boost::asio::ip::tcp::endpoint local_endpoint() const
tbb::atomic< uint32_t > connect_error
boost::asio::ip::tcp::endpoint & endpoint()
virtual LifetimeManager * lifetime_manager()=0
const std::string & ToUVEKey() const
virtual bool SendStartTls(XmppSession *session)
uint8_t dscp_value() const
uint32_t rx_update() const
uint32_t tx_keepalive() const
XmppConnection * connection_
XmppConnectionEndpoint * conn_endpoint_
uint32_t tx_close() const
uint32_t rx_keepalive() const
size_t get_handshake_failure()
XmppStanza::XmppMessage * XmppDecode(const std::string &msg)
virtual LifetimeManager * lifetime_manager()