diff irccdctl/cli.cpp @ 670:95ac3ace1610

Common: introduce new io code To avoid code duplication in accept, connect, reading and writing we add a new set of classes in `io` namespaces located in the following files: - stream.hpp, acceptor.hpp, connector.hpp These classes consist of pure abstract interfaces for I/O. Then we reimplement them in the following files: - socket_stream.hpp, socket_acceptor.hpp, socket_connector.hpp, - tls_stream.hpp, tls_acceptor.hpp, tls_conncetor.hpp (for SSL). This allows future independant connections such as DBus, fifo or any other fancy optional stuff. We also no longer need large class hierarchy such as `connection` for irccdctl controller or transport_server, transport_client classes.
author David Demelier <markand@malikania.fr>
date Tue, 10 Apr 2018 21:20:30 +0200
parents 4a13a016ea4f
children ad1ee47165fa
line wrap: on
line diff
--- a/irccdctl/cli.cpp	Fri Apr 06 22:06:07 2018 +0200
+++ b/irccdctl/cli.cpp	Tue Apr 10 21:20:30 2018 +0200
@@ -16,8 +16,6 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#include <boost/system/system_error.hpp>
-
 #include <irccd/json_util.hpp>
 #include <irccd/options.hpp>
 #include <irccd/string_util.hpp>
@@ -32,9 +30,9 @@
 
 void cli::recv_response(ctl::controller& ctl, nlohmann::json req, handler_t handler)
 {
-    ctl.recv([&ctl, req, handler, this] (auto code, auto message) {
+    ctl.read([&ctl, req, handler, this] (auto code, auto message) {
         if (code)
-            throw boost::system::system_error(code);
+            throw std::system_error(code);
 
         const auto c = json_util::parser(message).get<std::string>("command");
 
@@ -50,9 +48,9 @@
 
 void cli::request(ctl::controller& ctl, nlohmann::json req, handler_t handler)
 {
-    ctl.send(req, [&ctl, req, handler, this] (auto code) {
+    ctl.write(req, [&ctl, req, handler, this] (auto code) {
         if (code)
-            throw boost::system::system_error(code);
+            throw std::system_error(code);
 
         recv_response(ctl, std::move(req), std::move(handler));
     });