Просмотр исходного кода

Fix build with Boost versioni >= 1.70 (#615)

krkos 5 лет назад
Родитель
Сommit
ac81d0f7b4
2 измененных файлов с 13 добавлено и 2 удалено
  1. 7 0
      lib/serializer/Connection.h
  2. 6 2
      server/CVCMIServer.cpp

+ 7 - 0
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

+ 6 - 2
server/CVCMIServer.cpp

@@ -214,8 +214,8 @@ void CVCMIServer::threadAnnounceLobby()
 
 			if(acceptor)
 			{
-				acceptor->get_io_service().reset();
-				acceptor->get_io_service().poll();
+				io->reset();
+				io->poll();
 			}
 		}
 
@@ -272,7 +272,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));
 }