Move all the connect() logic from TCPSocketHandler into a subclass

This way, TCPSocketHandler only deal with the message sending/receiving, not
the connect() or anything else.  This will be used for implementing servers
(because when a client is accepted, we don’t need all the connect() and dns
resolution stuff).
This commit is contained in:
louiz’
2016-11-11 02:54:48 +01:00
parent c41d003cbf
commit 0c8adc85f7
11 changed files with 357 additions and 300 deletions
+1 -1
View File
@@ -39,7 +39,7 @@ static std::set<std::string> kickable_errors{
};
XmppComponent::XmppComponent(std::shared_ptr<Poller> poller, const std::string& hostname, const std::string& secret):
TCPSocketHandler(poller),
TCPClientSocketHandler(poller),
ever_auth(false),
first_connection_try(true),
secret(secret),
+2 -2
View File
@@ -2,7 +2,7 @@
#include <xmpp/adhoc_commands_handler.hpp>
#include <network/tcp_socket_handler.hpp>
#include <network/tcp_client_socket_handler.hpp>
#include <xmpp/xmpp_parser.hpp>
#include <xmpp/body.hpp>
@@ -40,7 +40,7 @@
*
* TODO: implement XEP-0225: Component Connections
*/
class XmppComponent: public TCPSocketHandler
class XmppComponent: public TCPClientSocketHandler
{
public:
explicit XmppComponent(std::shared_ptr<Poller> poller, const std::string& hostname, const std::string& secret);