#ifndef ECHO_SERVER_INCLUDED
#define ECHO_SERVER_INCLUDED

#include "sockets_echo_session.h"
#include "sockets_reusable_acceptor.h"
#include <boost/asio.hpp>
namespace sockets {
    
    class echo_server {
    public:
        echo_server(
            boost::asio::io_service& io_service
        );
    protected:
        void handle_connect(
            boost::system::error_code const& error
        );
        void handle_accept(
            echo_session* connected,
            boost::system::error_code const& error
        );
    private:
        reusable_acceptor acceptor;
    };
}

#endif
