Skip to content

Commit

Permalink
websocketpp_0.8.1.bb: Fix build with asio from boost 1.70+
Browse files Browse the repository at this point in the history
Patch is cherry-picked from
zaphoyd/websocketpp#814

Removed unused patches

Signed-off-by: Khem Raj <[email protected]>
  • Loading branch information
kraj committed Aug 29, 2019
1 parent 80b8663 commit 55dabe2
Show file tree
Hide file tree
Showing 7 changed files with 148 additions and 838 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
From 080fc37949114184d4832f7acffe2613745833f3 Mon Sep 17 00:00:00 2001
From: Stefan Floeren <[email protected]>
Date: Tue, 16 Apr 2019 08:38:01 +0200
Subject: [PATCH 1/2] Replace make_shared with new in some cases

Replace make_shared for asio types that take a lib::ref as a parameter.
This should fix the ASIO change (boostorg/asio@59066d8) for 1.70,
while keeping it backwards compatible to older boost versions.
---
websocketpp/transport/asio/connection.hpp | 7 ++++---
websocketpp/transport/asio/endpoint.hpp | 3 +--
websocketpp/transport/asio/security/none.hpp | 3 +--
websocketpp/transport/asio/security/tls.hpp | 3 +--
4 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
index 60f88a7..1ccda8f 100644
--- a/websocketpp/transport/asio/connection.hpp
+++ b/websocketpp/transport/asio/connection.hpp
@@ -311,9 +311,10 @@ public:
* needed.
*/
timer_ptr set_timer(long duration, timer_handler callback) {
- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>(
- lib::ref(*m_io_service),
- lib::asio::milliseconds(duration)
+ timer_ptr new_timer(
+ new lib::asio::steady_timer(
+ *m_io_service,
+ lib::asio::milliseconds(duration))
);

if (config::enable_multithreading) {
diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
index ddab2c7..4b719a9 100644
--- a/websocketpp/transport/asio/endpoint.hpp
+++ b/websocketpp/transport/asio/endpoint.hpp
@@ -195,8 +195,7 @@ public:

m_io_service = ptr;
m_external_io_service = true;
- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(
- lib::ref(*m_io_service));
+ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service));

m_state = READY;
ec = lib::error_code();
diff --git a/websocketpp/transport/asio/security/none.hpp b/websocketpp/transport/asio/security/none.hpp
index 5c8293d..6c7d352 100644
--- a/websocketpp/transport/asio/security/none.hpp
+++ b/websocketpp/transport/asio/security/none.hpp
@@ -168,8 +168,7 @@ protected:
return socket::make_error_code(socket::error::invalid_state);
}

- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
- lib::ref(*service));
+ m_socket.reset(new lib::asio::ip::tcp::socket(*service));

if (m_socket_init_handler) {
m_socket_init_handler(m_hdl, *m_socket);
diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
index c76fd9a..04ac379 100644
--- a/websocketpp/transport/asio/security/tls.hpp
+++ b/websocketpp/transport/asio/security/tls.hpp
@@ -193,8 +193,7 @@ protected:
if (!m_context) {
return socket::make_error_code(socket::error::invalid_tls_context);
}
- m_socket = lib::make_shared<socket_type>(
- _WEBSOCKETPP_REF(*service),lib::ref(*m_context));
+ m_socket.reset(new socket_type(*service, *m_context));

if (m_socket_init_handler) {
m_socket_init_handler(m_hdl, get_socket());
--
2.23.0

Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
From 12ab603ca962e83591985a585451d33544d75d56 Mon Sep 17 00:00:00 2001
From: Stefan Floeren <[email protected]>
Date: Wed, 17 Apr 2019 10:06:18 +0000
Subject: [PATCH 2/2] Fix missed entries; fix testing

---
CMakeLists.txt | 2 +-
websocketpp/transport/asio/connection.hpp | 3 +--
websocketpp/transport/asio/endpoint.hpp | 7 ++-----
3 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2786aba..951de97 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -202,7 +202,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
endif ()

if (NOT Boost_USE_STATIC_LIBS)
- add_definitions (/DBOOST_TEST_DYN_LINK)
+ add_definitions (-DBOOST_TEST_DYN_LINK)
endif ()

set (Boost_FIND_REQUIRED TRUE)
diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
index 1ccda8f..57dda74 100644
--- a/websocketpp/transport/asio/connection.hpp
+++ b/websocketpp/transport/asio/connection.hpp
@@ -462,8 +462,7 @@ protected:
m_io_service = io_service;

if (config::enable_multithreading) {
- m_strand = lib::make_shared<lib::asio::io_service::strand>(
- lib::ref(*io_service));
+ m_strand.reset(new lib::asio::io_service::strand(*io_service));
}

lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
index 4b719a9..94509ad 100644
--- a/websocketpp/transport/asio/endpoint.hpp
+++ b/websocketpp/transport/asio/endpoint.hpp
@@ -687,9 +687,7 @@ public:
* @since 0.3.0
*/
void start_perpetual() {
- m_work = lib::make_shared<lib::asio::io_service::work>(
- lib::ref(*m_io_service)
- );
+ m_work.reset(new lib::asio::io_service::work(*m_io_service));
}

/// Clears the endpoint's perpetual flag, allowing it to exit when empty
@@ -853,8 +851,7 @@ protected:

// Create a resolver
if (!m_resolver) {
- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(
- lib::ref(*m_io_service));
+ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service));
}

tcon->set_uri(u);
--
2.23.0

This file was deleted.

Loading

0 comments on commit 55dabe2

Please sign in to comment.