diff options
author | louiz’ <louiz@louiz.org> | 2016-11-11 02:54:48 +0100 |
---|---|---|
committer | louiz’ <louiz@louiz.org> | 2016-11-11 02:54:48 +0100 |
commit | 0c8adc85f7373a85de8b3edc6cac87d5f7389bb3 (patch) | |
tree | aefa90f4325424716b1304b4eac42d43371df1ca /src/irc | |
parent | c41d003cbf3b14b83e0f9bf6c4787c3bd60bb7ee (diff) | |
download | biboumi-0c8adc85f7373a85de8b3edc6cac87d5f7389bb3.tar.gz biboumi-0c8adc85f7373a85de8b3edc6cac87d5f7389bb3.tar.bz2 biboumi-0c8adc85f7373a85de8b3edc6cac87d5f7389bb3.tar.xz biboumi-0c8adc85f7373a85de8b3edc6cac87d5f7389bb3.zip |
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).
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/irc_client.cpp | 4 | ||||
-rw-r--r-- | src/irc/irc_client.hpp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/irc/irc_client.cpp b/src/irc/irc_client.cpp index b0d3a47..b13e5ab 100644 --- a/src/irc/irc_client.cpp +++ b/src/irc/irc_client.cpp @@ -131,7 +131,7 @@ IrcClient::IrcClient(std::shared_ptr<Poller> poller, const std::string& hostname const std::string& nickname, const std::string& username, const std::string& realname, const std::string& user_hostname, Bridge& bridge): - TCPSocketHandler(poller), + TCPClientSocketHandler(poller), hostname(hostname), user_hostname(user_hostname), username(username), @@ -338,7 +338,7 @@ void IrcClient::parse_in_buffer(const size_t) if (pos == std::string::npos) break ; IrcMessage message(this->in_buf.substr(0, pos)); - this->in_buf = this->in_buf.substr(pos + 2, std::string::npos); + this->consume_in_buffer(pos + 2); log_debug("IRC RECEIVING: (", this->get_hostname(), ") ", message); // Call the standard callback (if any), associated with the command diff --git a/src/irc/irc_client.hpp b/src/irc/irc_client.hpp index 1b4d892..4edc32c 100644 --- a/src/irc/irc_client.hpp +++ b/src/irc/irc_client.hpp @@ -5,7 +5,7 @@ #include <irc/irc_channel.hpp> #include <irc/iid.hpp> -#include <network/tcp_socket_handler.hpp> +#include <network/tcp_client_socket_handler.hpp> #include <network/resolver.hpp> #include <unordered_map> @@ -23,7 +23,7 @@ class Bridge; * Represent one IRC client, i.e. an endpoint connected to a single IRC * server, through a TCP socket, receiving and sending commands to it. */ -class IrcClient: public TCPSocketHandler +class IrcClient: public TCPClientSocketHandler { public: explicit IrcClient(std::shared_ptr<Poller> poller, const std::string& hostname, |