Adbase
Adinf C++ base library V2
|
#include <Connector.hpp>
Inherits enable_shared_from_this< Connector >.
Public Types | |
typedef std::function< void(int sockfd)> | NewConnectionCallback |
Public Member Functions | |
Connector (EventBasePtr &base, const InetAddress &serverAddr, Timer *timer) | |
Connector (EventBasePtr &base, const std::string &hostname, int port, Timer *timer) | |
~Connector () | |
void | setNewConnectionCallback (const NewConnectionCallback &cb) |
const InetAddress & | serverAddress () const |
void | start (void *context=nullptr) |
void | stop () |
void | restart () |
void | handleWrite (int sockfd) |
void | handleError (int sockfd) |
Definition at line 22 of file Connector.hpp.
typedef std::function<void (int sockfd)> adbase::Connector::NewConnectionCallback |
Definition at line 24 of file Connector.hpp.
adbase::Connector::Connector | ( | EventBasePtr & | base, |
const InetAddress & | serverAddr, | ||
Timer * | timer | ||
) |
Definition at line 36 of file Connector.cpp.
References LOG_TRACE, adbase::InetAddress::toIp(), and adbase::InetAddress::toPort().
adbase::Connector::Connector | ( | EventBasePtr & | base, |
const std::string & | hostname, | ||
int | port, | ||
Timer * | timer | ||
) |
Definition at line 22 of file Connector.cpp.
References LOG_TRACE.
adbase::Connector::~Connector | ( | ) |
Definition at line 51 of file Connector.cpp.
void adbase::Connector::handleError | ( | int | sockfd | ) |
Definition at line 180 of file Connector.cpp.
References adbase::sockets::close(), adbase::sockets::getSocketError(), LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_TRACE, adbase::Timer::runAfter(), start(), adbase::strerror_tl(), and adbase::InetAddress::toIpPort().
Referenced by adbase::detail::handlerConnector().
void adbase::Connector::handleWrite | ( | int | sockfd | ) |
Definition at line 152 of file Connector.cpp.
References adbase::sockets::close(), adbase::sockets::getSocketError(), adbase::sockets::isSelfConnect(), LOG_TRACE, LOG_WARN, and adbase::strerror_tl().
Referenced by adbase::detail::handlerConnector().
void adbase::Connector::restart | ( | ) |
Definition at line 77 of file Connector.cpp.
References adbase::sockets::close(), adbase::sockets::connect(), adbase::sockets::createNonblockingOrDie(), adbase::InetAddress::getSockAddrInet(), adbase::detail::handlerConnector(), LOG_SYSERR, LOG_TRACE, adbase::InetAddress::resolve(), start(), and stop().
|
inline |
Definition at line 33 of file Connector.hpp.
References adbase::sockets::connect().
|
inline |
Definition at line 29 of file Connector.hpp.
void adbase::Connector::start | ( | void * | context = nullptr | ) |
Definition at line 59 of file Connector.cpp.
Referenced by handleError(), and restart().
void adbase::Connector::stop | ( | ) |
Definition at line 67 of file Connector.cpp.
Referenced by restart(), and ~Connector().