From ac81d0f7b42fb535748ec311ba877a6e6216567b Mon Sep 17 00:00:00 2001
From: krkos <krkos@users.noreply.github.com>
Date: Tue, 21 Jan 2020 09:55:28 +0100
Subject: [PATCH] Fix build with Boost versioni >= 1.70 (#615)

---
 lib/serializer/Connection.h | 7 +++++++
 server/CVCMIServer.cpp      | 8 ++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

--- a/lib/serializer/Connection.h
+++ b/lib/serializer/Connection.h
@@ -14,6 +14,11 @@
 
 struct CPack;
 
+#if BOOST_VERSION >= 107000  // Boost version >= 1.70
+#include <boost/asio.hpp>
+typedef boost::asio::basic_stream_socket < boost::asio::ip::tcp > TSocket;
+typedef boost::asio::basic_socket_acceptor < boost::asio::ip::tcp > TAcceptor;
+#else
 namespace boost
 {
 	namespace asio
@@ -43,6 +48,8 @@ namespace boost
 
 typedef boost::asio::basic_stream_socket < boost::asio::ip::tcp , boost::asio::stream_socket_service<boost::asio::ip::tcp>  > TSocket;
 typedef boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > TAcceptor;
+#endif
+
 
 /// Main class for network communication
 /// Allows establishing connection and bidirectional read-write
--- a/server/CVCMIServer.cpp
+++ b/server/CVCMIServer.cpp
@@ -212,8 +212,8 @@ void CVCMIServer::threadAnnounceLobby()
 
 			if(acceptor)
 			{
-				acceptor->get_io_service().reset();
-				acceptor->get_io_service().poll();
+				io->reset();
+				io->poll();
 			}
 		}
 
@@ -270,7 +270,11 @@ void CVCMIServer::startAsyncAccept()
 	assert(!upcomingConnection);
 	assert(acceptor);
 
+#if BOOST_VERSION >= 107000  // Boost version >= 1.70
+	upcomingConnection = std::make_shared<TSocket>(acceptor->get_executor());
+#else
 	upcomingConnection = std::make_shared<TSocket>(acceptor->get_io_service());
+#endif
 	acceptor->async_accept(*upcomingConnection, std::bind(&CVCMIServer::connectionAccepted, this, _1));
 }
 
