aboutsummaryrefslogtreecommitdiff
path: root/node/nextnode.cpp
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2016-09-28 10:55:58 +0200
committerDennis Brentjes <d.brentjes@gmail.com>2016-09-28 10:55:58 +0200
commit85d25eebd38bb278ad598a291a007938854945a4 (patch)
treeb6f26a8f5a301c9a18d7ab6de5805de7d660cade /node/nextnode.cpp
parentfa0b4963e977c59586b41e146ea13f44bda714ab (diff)
downloadcmix-85d25eebd38bb278ad598a291a007938854945a4.tar.gz
cmix-85d25eebd38bb278ad598a291a007938854945a4.tar.bz2
cmix-85d25eebd38bb278ad598a291a007938854945a4.zip
Made changes so we can have a 1 Node cmix network.
Diffstat (limited to 'node/nextnode.cpp')
-rw-r--r--node/nextnode.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/node/nextnode.cpp b/node/nextnode.cpp
index 3045462..d38200d 100644
--- a/node/nextnode.cpp
+++ b/node/nextnode.cpp
@@ -1,7 +1,34 @@
#include "nextnode.hpp"
+#include "connect.hpp"
+
+#include "logging.hpp"
+
using namespace boost::asio::ip;
NextNode::NextNode(tcp::socket&& socket)
: Client(std::move(socket))
{}
+
+void NextNode::send(std::string message)
+{
+ auto handler = [](boost::system::error_code const& ec, std::size_t bytes_transferred) {
+ BOOST_LOG_TRIVIAL(trace) << "sent message";
+ if(ec) {
+ BOOST_LOG_TRIVIAL(fatal) << ec;
+ throw std::runtime_error("unable to send message");
+ }
+ };
+
+ socket.async_send(boost::asio::buffer(message), 0, handler);
+}
+
+void NextNode::connect(std::string next_host, std::string next_port, std::function<void ()> on_connect)
+{
+ async_connect(socket, next_host, next_port, on_connect);
+}
+
+void NextNode::close()
+{
+ socket.close();
+}