aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-02-14 12:43:57 +0100
committerShauren <shauren.trinity@gmail.com>2022-02-14 12:43:57 +0100
commitf6e72494f185d096f2cce70e646f0761e67e1bc7 (patch)
tree0009a721406f3a97b08a578432a5dd0b7dfb1061 /src
parenta6dd3a1946be27acab80b78b71eecae7dbad82e6 (diff)
Dep: Raise required boost versions to 1.73 on windows and 1.71 on linux and remove compatibility code for unsupported versions
Diffstat (limited to 'src')
-rw-r--r--src/common/Asio/DeadlineTimer.h14
-rw-r--r--src/common/Asio/IoContext.h28
-rw-r--r--src/common/Asio/IpAddress.h12
-rw-r--r--src/common/Asio/IpNetwork.h14
-rw-r--r--src/common/Asio/Resolver.h11
-rw-r--r--src/common/Asio/Strand.h17
-rw-r--r--src/server/shared/Networking/AsyncAcceptor.h6
7 files changed, 10 insertions, 92 deletions
diff --git a/src/common/Asio/DeadlineTimer.h b/src/common/Asio/DeadlineTimer.h
index 7a0e5522fa8..94531a28511 100644
--- a/src/common/Asio/DeadlineTimer.h
+++ b/src/common/Asio/DeadlineTimer.h
@@ -20,24 +20,14 @@
#include <boost/asio/deadline_timer.hpp>
-#if BOOST_VERSION >= 107000
-#define BasicDeadlineTimerThirdTemplateArg , boost::asio::io_context::executor_type
-#elif BOOST_VERSION >= 106600
-#define BasicDeadlineTimerThirdTemplateArg
-#else
-#define BasicDeadlineTimerThirdTemplateArg , boost::asio::deadline_timer_service<boost::posix_time::ptime, boost::asio::time_traits<boost::posix_time::ptime>>
-#endif
-
-#define DeadlineTimerBase boost::asio::basic_deadline_timer<boost::posix_time::ptime, boost::asio::time_traits<boost::posix_time::ptime> BasicDeadlineTimerThirdTemplateArg>
-
namespace Trinity
{
namespace Asio
{
- class DeadlineTimer : public DeadlineTimerBase
+ class DeadlineTimer : public boost::asio::basic_deadline_timer<boost::posix_time::ptime, boost::asio::time_traits<boost::posix_time::ptime>, boost::asio::io_context::executor_type>
{
public:
- using DeadlineTimerBase::basic_deadline_timer;
+ using basic_deadline_timer::basic_deadline_timer;
};
}
}
diff --git a/src/common/Asio/IoContext.h b/src/common/Asio/IoContext.h
index ee69fa93b9b..b26de194b5c 100644
--- a/src/common/Asio/IoContext.h
+++ b/src/common/Asio/IoContext.h
@@ -18,18 +18,8 @@
#ifndef IoContext_h__
#define IoContext_h__
-#include <boost/version.hpp>
-
-#if BOOST_VERSION >= 106600
#include <boost/asio/io_context.hpp>
#include <boost/asio/post.hpp>
-#define IoContextBaseNamespace boost::asio
-#define IoContextBase io_context
-#else
-#include <boost/asio/io_service.hpp>
-#define IoContextBaseNamespace boost::asio
-#define IoContextBase io_service
-#endif
namespace Trinity
{
@@ -41,38 +31,28 @@ namespace Trinity
IoContext() : _impl() { }
explicit IoContext(int concurrency_hint) : _impl(concurrency_hint) { }
- operator IoContextBaseNamespace::IoContextBase&() { return _impl; }
- operator IoContextBaseNamespace::IoContextBase const&() const { return _impl; }
+ operator boost::asio::io_context&() { return _impl; }
+ operator boost::asio::io_context const&() const { return _impl; }
std::size_t run() { return _impl.run(); }
void stop() { _impl.stop(); }
-#if BOOST_VERSION >= 106600
boost::asio::io_context::executor_type get_executor() noexcept { return _impl.get_executor(); }
-#endif
private:
- IoContextBaseNamespace::IoContextBase _impl;
+ boost::asio::io_context _impl;
};
template<typename T>
- inline decltype(auto) post(IoContextBaseNamespace::IoContextBase& ioContext, T&& t)
+ inline decltype(auto) post(boost::asio::io_context& ioContext, T&& t)
{
-#if BOOST_VERSION >= 106600
return boost::asio::post(ioContext, std::forward<T>(t));
-#else
- return ioContext.post(std::forward<T>(t));
-#endif
}
template<typename T>
inline decltype(auto) get_io_context(T&& ioObject)
{
-#if BOOST_VERSION >= 106600
return ioObject.get_executor().context();
-#else
- return ioObject.get_io_service();
-#endif
}
}
}
diff --git a/src/common/Asio/IpAddress.h b/src/common/Asio/IpAddress.h
index aa1cf0d4c6a..30500d662c6 100644
--- a/src/common/Asio/IpAddress.h
+++ b/src/common/Asio/IpAddress.h
@@ -25,21 +25,9 @@ namespace Trinity
{
namespace Net
{
-#if BOOST_VERSION >= 106600
using boost::asio::ip::make_address;
using boost::asio::ip::make_address_v4;
inline uint32 address_to_uint(boost::asio::ip::address_v4 const& address) { return address.to_uint(); }
-#else
- inline boost::asio::ip::address make_address(char const* str) { return boost::asio::ip::address::from_string(str); }
- inline boost::asio::ip::address make_address(char const* str, boost::system::error_code& ec) { return boost::asio::ip::address::from_string(str, ec); }
- inline boost::asio::ip::address make_address(std::string const& str) { return boost::asio::ip::address::from_string(str); }
- inline boost::asio::ip::address make_address(std::string const& str, boost::system::error_code& ec) { return boost::asio::ip::address::from_string(str, ec); }
- inline boost::asio::ip::address_v4 make_address_v4(char const* str) { return boost::asio::ip::address_v4::from_string(str); }
- inline boost::asio::ip::address_v4 make_address_v4(char const* str, boost::system::error_code& ec) { return boost::asio::ip::address_v4::from_string(str, ec); }
- inline boost::asio::ip::address_v4 make_address_v4(std::string const& str) { return boost::asio::ip::address_v4::from_string(str); }
- inline boost::asio::ip::address_v4 make_address_v4(std::string const& str, boost::system::error_code& ec) { return boost::asio::ip::address_v4::from_string(str, ec); }
- inline uint32 address_to_uint(boost::asio::ip::address_v4 const& address) { return address.to_ulong(); }
-#endif
}
}
diff --git a/src/common/Asio/IpNetwork.h b/src/common/Asio/IpNetwork.h
index 8ac84bfc30b..294532c5c78 100644
--- a/src/common/Asio/IpNetwork.h
+++ b/src/common/Asio/IpNetwork.h
@@ -20,11 +20,8 @@
#include "Define.h"
#include "IpAddress.h"
-#include <boost/version.hpp>
-#if BOOST_VERSION >= 106600
#include <boost/asio/ip/network_v4.hpp>
#include <boost/asio/ip/network_v6.hpp>
-#endif
namespace Trinity
{
@@ -32,13 +29,9 @@ namespace Trinity
{
inline bool IsInNetwork(boost::asio::ip::address_v4 const& networkAddress, boost::asio::ip::address_v4 const& mask, boost::asio::ip::address_v4 const& clientAddress)
{
-#if BOOST_VERSION >= 106600
boost::asio::ip::network_v4 network = boost::asio::ip::make_network_v4(networkAddress, mask);
boost::asio::ip::address_v4_range hosts = network.hosts();
return hosts.find(clientAddress) != hosts.end();
-#else
- return (clientAddress.to_ulong() & mask.to_ulong()) == (networkAddress.to_ulong() & mask.to_ulong());
-#endif
}
inline boost::asio::ip::address_v4 GetDefaultNetmaskV4(boost::asio::ip::address_v4 const& networkAddress)
@@ -54,16 +47,9 @@ namespace Trinity
inline bool IsInNetwork(boost::asio::ip::address_v6 const& networkAddress, uint16 prefixLength, boost::asio::ip::address_v6 const& clientAddress)
{
-#if BOOST_VERSION >= 106600
boost::asio::ip::network_v6 network = boost::asio::ip::make_network_v6(networkAddress, prefixLength);
boost::asio::ip::address_v6_range hosts = network.hosts();
return hosts.find(clientAddress) != hosts.end();
-#else
- (void)networkAddress;
- (void)prefixLength;
- (void)clientAddress;
- return false;
-#endif
}
}
}
diff --git a/src/common/Asio/Resolver.h b/src/common/Asio/Resolver.h
index b63747b139e..01399e435e5 100644
--- a/src/common/Asio/Resolver.h
+++ b/src/common/Asio/Resolver.h
@@ -38,23 +38,12 @@ namespace Trinity
Optional<boost::asio::ip::tcp::endpoint> Resolve(boost::asio::ip::tcp const& protocol, std::string const& host, std::string const& service)
{
boost::system::error_code ec;
-#if BOOST_VERSION >= 106600
boost::asio::ip::resolver_base::flags flagsResolver = boost::asio::ip::resolver_base::all_matching;
boost::asio::ip::tcp::resolver::results_type results = _impl.resolve(protocol, host, service, flagsResolver, ec);
if (results.begin() == results.end() || ec)
return {};
return results.begin()->endpoint();
-#else
- boost::asio::ip::resolver_query_base::flags flagsQuery = boost::asio::ip::tcp::resolver::query::all_matching;
- boost::asio::ip::tcp::resolver::query query(std::move(protocol), std::move(host), std::move(service), flagsQuery);
- boost::asio::ip::tcp::resolver::iterator itr = _impl.resolve(query, ec);
- boost::asio::ip::tcp::resolver::iterator end;
- if (itr == end || ec)
- return {};
-
- return itr->endpoint();
-#endif
}
private:
diff --git a/src/common/Asio/Strand.h b/src/common/Asio/Strand.h
index c27407d1a3c..5beef144c60 100644
--- a/src/common/Asio/Strand.h
+++ b/src/common/Asio/Strand.h
@@ -19,11 +19,8 @@
#define Strand_h__
#include "IoContext.h"
-#include <boost/asio/strand.hpp>
-
-#if BOOST_VERSION >= 106600
#include <boost/asio/bind_executor.hpp>
-#endif
+#include <boost/asio/strand.hpp>
namespace Trinity
{
@@ -32,21 +29,13 @@ namespace Trinity
/**
Hack to make it possible to forward declare strand (which is a inner class)
*/
- class Strand : public IoContextBaseNamespace::IoContextBase::strand
+ class Strand : public boost::asio::io_context::strand
{
public:
- Strand(IoContext& ioContext) : IoContextBaseNamespace::IoContextBase::strand(ioContext) { }
+ Strand(IoContext& ioContext) : boost::asio::io_context::strand(ioContext) { }
};
-#if BOOST_VERSION >= 106600
using boost::asio::bind_executor;
-#else
- template<typename T>
- inline decltype(auto) bind_executor(Strand& strand, T&& t)
- {
- return strand.wrap(std::forward<T>(t));
- }
-#endif
}
}
diff --git a/src/server/shared/Networking/AsyncAcceptor.h b/src/server/shared/Networking/AsyncAcceptor.h
index 6540db66474..ffc694340fc 100644
--- a/src/server/shared/Networking/AsyncAcceptor.h
+++ b/src/server/shared/Networking/AsyncAcceptor.h
@@ -22,16 +22,12 @@
#include "IpAddress.h"
#include "Log.h"
#include <boost/asio/ip/tcp.hpp>
-#include <functional>
#include <atomic>
+#include <functional>
using boost::asio::ip::tcp;
-#if BOOST_VERSION >= 106600
#define TRINITY_MAX_LISTEN_CONNECTIONS boost::asio::socket_base::max_listen_connections
-#else
-#define TRINITY_MAX_LISTEN_CONNECTIONS boost::asio::socket_base::max_connections
-#endif
class AsyncAcceptor
{