FACT++  1.0
Connection Class Reference

Maintains an ansynchronous TCP/IP client connection. More...

#include <Connection.h>

+ Inheritance diagram for Connection:
+ Collaboration diagram for Connection:

Public Member Functions

void SetLogStream (MessageImp *log)
 
std::ostream & Out ()
 
void AsyncRead (const boost::asio::mutable_buffers_1 buffers, int type=0)
 
void AsyncWrite (const boost::asio::const_buffers_1 &buffers)
 
template<class T >
void AsyncWaitImp (boost::asio::deadline_timer &timer, int millisec, void(T::*handler)(const boost::system::error_code &))
 
void AsyncWait (boost::asio::deadline_timer &timer, int millisec, void(Connection::*handler)(const boost::system::error_code &))
 
 Connection (boost::asio::io_service &io_service, std::ostream &out)
 
void SetEndpoint (const std::string &addr, int port)
 
void SetEndpoint (const std::string &addr, const std::string &port)
 
void SetEndpoint (const std::string &addr)
 
void SetEndpoint (const boost::asio::ip::tcp::endpoint &ep)
 
virtual void StartConnect ()
 
void PostClose (bool restart=true)
 
void PostMessage (const void *msg, size_t s=0)
 
void PostMessage (const std::string &cmd, size_t s=-1)
 
template<typename T , size_t N>
void PostMessage (const std::array< T, N > &msg)
 
template<typename T >
void PostMessage (const std::vector< T > &msg)
 
virtual void HandleReceivedData (const boost::system::error_code &, size_t, int=0)
 
virtual void HandleReadTimeout (const boost::system::error_code &)
 
bool IsTxQueueEmpty () const
 
int IsClosed () const
 
bool IsDisconnected () const
 
bool IsConnected () const
 
bool IsConnecting () const
 
void SetVerbose (bool b=true)
 
void SetDebugTx (bool b=true)
 
std::string URL () const
 
const boost::asio::ip::tcp::endpoint & GetEndpoint () const
 
- Public Member Functions inherited from MessageImp
 MessageImp (std::ostream &out=std::cout)
 
virtual ~MessageImp ()
 
virtual void IndicateStateChange (const Time &, const std::string &)
 
void StateChanged (const Time &time, const std::string &server, const std::string &msg, int state)
 
int Update (const std::string &txt, int severity=kMessage)
 
int Update (const char *txt, int severity=kMessage)
 
int Update (const std::ostringstream &str, int severity=kMessage)
 
int Debug (const std::string &str)
 
int Message (const std::string &str)
 
int Info (const std::string &str)
 
int Warn (const std::string &str)
 
int Error (const std::string &str)
 
int Alarm (const std::string &str)
 
int Fatal (const std::string &str)
 
int Comment (const std::string &str)
 
int Debug (const char *txt)
 
int Message (const char *txt)
 
int Info (const char *txt)
 
int Warn (const char *txt)
 
int Error (const char *txt)
 
int Alarm (const char *txt)
 
int Fatal (const char *txt)
 
int Comment (const char *txt)
 
int Debug (const std::ostringstream &str)
 
int Message (const std::ostringstream &str)
 
int Info (const std::ostringstream &str)
 
int Warn (const std::ostringstream &str)
 
int Alarm (const std::ostringstream &str)
 
int Error (const std::ostringstream &str)
 
int Fatal (const std::ostringstream &str)
 
int Comment (const std::ostringstream &str)
 
std::ostream & operator() () const
 
std::ostream & Out () const
 
virtual bool MessageQueueEmpty () const
 

Protected Attributes

boost::asio::deadline_timer fInTimeout
 

Private Types

enum  ConnectionStatus_t { kDisconnected = 0, kConnecting = 1, kConnected = 2 }
 

Private Member Functions

void AsyncConnect (boost::asio::ip::tcp::resolver::iterator iterator)
 
void AsyncConnect ()
 
void CloseImp (bool restart=true)
 
bool ConnectImp (const boost::asio::ip::tcp::endpoint &endpoint, const boost::system::error_code &error)
 
void ConnectIter (boost::asio::ip::tcp::resolver::iterator endpoint_iterator, const boost::system::error_code &error)
 
void ConnectAddr (const boost::asio::ip::tcp::endpoint &endpoint, const boost::system::error_code &error)
 
void HandleConnectionTimer (const boost::system::error_code &error)
 
void HandleWriteTimeout (const boost::system::error_code &error)
 
void HandleSentData (const boost::system::error_code &error, size_t)
 
int Write (const Time &t, const std::string &txt, int qos=kInfo)
 
virtual void ConnectionEstablished ()
 
virtual void ConnectionFailed ()
 

Private Attributes

MessageImpfLog
 
std::string fAddress
 
std::string fPort
 
boost::asio::ip::tcp::endpoint fEndpoint
 
bool fVerbose
 
bool fDebugTx
 
boost::asio::deadline_timer fOutTimeout
 
boost::asio::deadline_timer fConnectionTimer
 
size_t fQueueSize
 
ConnectionStatus_t fConnectionStatus
 
std::string fErrConnect
 
std::string fMsgConnect
 

Additional Inherited Members

- Public Types inherited from MessageImp
enum  Severity {
  kMessage = 10, kInfo = 20, kWarn = 30, kError = 40,
  kAlarm = 45, kFatal = 50, kComment = 90, kDebug = 99
}
 Severity of a message. More...
 

Detailed Description

Maintains an ansynchronous TCP/IP client connection.

Todo:
Unify with ConnectionUSB

Definition at line 15 of file Connection.h.


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