#pragma once #include "client.hpp" #include /*! * \file */ /*! * \brief The NextNode class represents the next node in the network, will only be sent to. */ class NextNode : public Client { public: /*! * \brief NextNode * \param socket an rvalue reference to the socket it takes ownership and uses to communicate with the next node in the network. */ NextNode(boost::asio::ip::tcp::socket&& socket); /*! * \brief send * \param message is the string that is send to the next node. */ void send(std::string message); /*! * \brief connect * \param next_host The host of the next node. * \param next_port The port of the next node. * \param on_connect The callback to call when the connect was succesfull. */ void connect(std::string next_host, std::string next_port, std::function on_connect); /*! * \brief close This function closes the underlying socket connection. */ void close(); };