diff --git a/lib/allocator.h b/lib/allocator.h index 97b9a41..400b0e0 100644 --- a/lib/allocator.h +++ b/lib/allocator.h @@ -25,7 +25,7 @@ #ifndef ALLOCATOR_H #define ALLOCATOR_H -#include "nghttp2_config.h" +#include #ifndef _WIN32 # include @@ -34,7 +34,7 @@ #include #include -#include "template.h" +#include namespace nghttp2 { diff --git a/lib/asio_client_request.cc b/lib/asio_client_request.cc index a81e213..64a5246 100644 --- a/lib/asio_client_request.cc +++ b/lib/asio_client_request.cc @@ -22,13 +22,13 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "nghttp2_config.h" +#include #include #include "asio_client_request_impl.h" -#include "template.h" +#include namespace nghttp2 { namespace asio_http2 { diff --git a/lib/asio_client_request_impl.cc b/lib/asio_client_request_impl.cc index 1e4e2dd..55d7534 100644 --- a/lib/asio_client_request_impl.cc +++ b/lib/asio_client_request_impl.cc @@ -25,8 +25,8 @@ #include "asio_client_request_impl.h" #include "asio_client_stream.h" -#include "asio_client_session_impl.h" -#include "template.h" +#include +#include namespace nghttp2 { namespace asio_http2 { diff --git a/lib/asio_client_request_impl.h b/lib/asio_client_request_impl.h index e0d43d2..1c0b79f 100644 --- a/lib/asio_client_request_impl.h +++ b/lib/asio_client_request_impl.h @@ -25,7 +25,7 @@ #ifndef ASIO_CLIENT_REQUEST_IMPL_H #define ASIO_CLIENT_REQUEST_IMPL_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_client_response.cc b/lib/asio_client_response.cc index 56b8072..a3413f3 100644 --- a/lib/asio_client_response.cc +++ b/lib/asio_client_response.cc @@ -22,13 +22,13 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "nghttp2_config.h" +#include #include #include "asio_client_response_impl.h" -#include "template.h" +#include namespace nghttp2 { namespace asio_http2 { diff --git a/lib/asio_client_response_impl.cc b/lib/asio_client_response_impl.cc index bd2cdf5..4f02cfa 100644 --- a/lib/asio_client_response_impl.cc +++ b/lib/asio_client_response_impl.cc @@ -24,7 +24,7 @@ */ #include "asio_client_response_impl.h" -#include "template.h" +#include namespace nghttp2 { namespace asio_http2 { diff --git a/lib/asio_client_response_impl.h b/lib/asio_client_response_impl.h index 524d728..837964f 100644 --- a/lib/asio_client_response_impl.h +++ b/lib/asio_client_response_impl.h @@ -25,7 +25,7 @@ #ifndef ASIO_CLIENT_RESPONSE_IMPL_H #define ASIO_CLIENT_RESPONSE_IMPL_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_client_session.cc b/lib/asio_client_session.cc index 5cf01c7..796c1ae 100644 --- a/lib/asio_client_session.cc +++ b/lib/asio_client_session.cc @@ -22,14 +22,14 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "nghttp2_config.h" +#include #include #include "asio_client_session_tcp_impl.h" #include "asio_client_session_tls_impl.h" #include "asio_common.h" -#include "template.h" +#include namespace nghttp2 { namespace asio_http2 { @@ -87,6 +87,12 @@ session::session(boost::asio::io_service &io_service, impl_->start_resolve(host, service); } +session::session(std::shared_ptr impl) + : impl_{impl} +{ +} + + session::~session() {} session::session(session &&other) noexcept : impl_(std::move(other.impl_)) {} diff --git a/lib/asio_client_session_impl.cc b/lib/asio_client_session_impl.cc index b96824d..375c073 100644 --- a/lib/asio_client_session_impl.cc +++ b/lib/asio_client_session_impl.cc @@ -22,7 +22,7 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "asio_client_session_impl.h" +#include "nghttp2/asio_client_session_impl.h" #include @@ -30,7 +30,7 @@ #include "asio_client_request_impl.h" #include "asio_client_response_impl.h" #include "asio_common.h" -#include "template.h" +#include #include "util.h" #include "http2.h" diff --git a/lib/asio_client_session_tcp_impl.h b/lib/asio_client_session_tcp_impl.h index 0b6ae93..d2c70cf 100644 --- a/lib/asio_client_session_tcp_impl.h +++ b/lib/asio_client_session_tcp_impl.h @@ -25,7 +25,7 @@ #ifndef ASIO_CLIENT_SESSION_TCP_IMPL_H #define ASIO_CLIENT_SESSION_TCP_IMPL_H -#include "asio_client_session_impl.h" +#include #include diff --git a/lib/asio_client_session_tls_impl.h b/lib/asio_client_session_tls_impl.h index 645c60f..5d04d0d 100644 --- a/lib/asio_client_session_tls_impl.h +++ b/lib/asio_client_session_tls_impl.h @@ -25,7 +25,7 @@ #ifndef ASIO_CLIENT_SESSION_TLS_IMPL_H #define ASIO_CLIENT_SESSION_TLS_IMPL_H -#include "asio_client_session_impl.h" +#include #include diff --git a/lib/asio_client_stream.cc b/lib/asio_client_stream.cc index 2d3aa5b..b519040 100644 --- a/lib/asio_client_stream.cc +++ b/lib/asio_client_stream.cc @@ -26,7 +26,7 @@ #include "asio_client_request_impl.h" #include "asio_client_response_impl.h" -#include "asio_client_session_impl.h" +#include namespace nghttp2 { namespace asio_http2 { diff --git a/lib/asio_client_stream.h b/lib/asio_client_stream.h index e3e027a..a27333b 100644 --- a/lib/asio_client_stream.h +++ b/lib/asio_client_stream.h @@ -25,7 +25,7 @@ #ifndef ASIO_CLIENT_STREAM_H #define ASIO_CLIENT_STREAM_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_client_tls_context.h b/lib/asio_client_tls_context.h index 6287dab..677ed45 100644 --- a/lib/asio_client_tls_context.h +++ b/lib/asio_client_tls_context.h @@ -25,7 +25,7 @@ #ifndef ASIO_CLIENT_TLS_CONTEXT_H #define ASIO_CLIENT_TLS_CONTEXT_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_common.cc b/lib/asio_common.cc index 428dbd6..4d1de3b 100644 --- a/lib/asio_common.cc +++ b/lib/asio_common.cc @@ -28,7 +28,7 @@ #include #include "util.h" -#include "template.h" +#include #include "http2.h" namespace nghttp2 { diff --git a/lib/asio_common.h b/lib/asio_common.h index 7eacfa5..70fceae 100644 --- a/lib/asio_common.h +++ b/lib/asio_common.h @@ -25,7 +25,7 @@ #ifndef ASIO_COMMON_H #define ASIO_COMMON_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_io_service_pool.h b/lib/asio_io_service_pool.h index 9c11533..6bee72a 100644 --- a/lib/asio_io_service_pool.h +++ b/lib/asio_io_service_pool.h @@ -37,7 +37,7 @@ #ifndef ASIO_IO_SERVICE_POOL_H #define ASIO_IO_SERVICE_POOL_H -#include "nghttp2_config.h" +#include #include #include diff --git a/lib/asio_server.h b/lib/asio_server.h index 1190e32..9c1c0a4 100644 --- a/lib/asio_server.h +++ b/lib/asio_server.h @@ -37,7 +37,7 @@ #ifndef ASIO_SERVER_H #define ASIO_SERVER_H -#include "nghttp2_config.h" +#include #include #include diff --git a/lib/asio_server_connection.h b/lib/asio_server_connection.h index a948965..b402ca2 100644 --- a/lib/asio_server_connection.h +++ b/lib/asio_server_connection.h @@ -37,7 +37,7 @@ #ifndef ASIO_SERVER_CONNECTION_H #define ASIO_SERVER_CONNECTION_H -#include "nghttp2_config.h" +#include #include @@ -49,7 +49,7 @@ #include "asio_server_http2_handler.h" #include "asio_server_serve_mux.h" #include "util.h" -#include "template.h" +#include #if BOOST_VERSION >= 107000 # define GET_IO_SERVICE(s) \ diff --git a/lib/asio_server_http2.cc b/lib/asio_server_http2.cc index 02d3d19..69d6adf 100644 --- a/lib/asio_server_http2.cc +++ b/lib/asio_server_http2.cc @@ -22,13 +22,13 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "nghttp2_config.h" +#include #include #include "asio_server_http2_impl.h" #include "asio_server.h" -#include "template.h" +#include namespace nghttp2 { diff --git a/lib/asio_server_http2_handler.cc b/lib/asio_server_http2_handler.cc index c1fc195..d75c8db 100644 --- a/lib/asio_server_http2_handler.cc +++ b/lib/asio_server_http2_handler.cc @@ -33,7 +33,7 @@ #include "asio_server_response_impl.h" #include "http2.h" #include "util.h" -#include "template.h" +#include namespace nghttp2 { diff --git a/lib/asio_server_http2_handler.h b/lib/asio_server_http2_handler.h index 1206449..93ac5d8 100644 --- a/lib/asio_server_http2_handler.h +++ b/lib/asio_server_http2_handler.h @@ -25,7 +25,7 @@ #ifndef ASIO_SERVER_HTTP2_HANDLER_H #define ASIO_SERVER_HTTP2_HANDLER_H -#include "nghttp2_config.h" +#include #include #include diff --git a/lib/asio_server_http2_impl.cc b/lib/asio_server_http2_impl.cc index 00afdd6..981bc00 100644 --- a/lib/asio_server_http2_impl.cc +++ b/lib/asio_server_http2_impl.cc @@ -29,7 +29,7 @@ #include "asio_server.h" #include "util.h" #include "tls.h" -#include "template.h" +#include namespace nghttp2 { diff --git a/lib/asio_server_http2_impl.h b/lib/asio_server_http2_impl.h index 93a6d2c..519ad8d 100644 --- a/lib/asio_server_http2_impl.h +++ b/lib/asio_server_http2_impl.h @@ -25,7 +25,7 @@ #ifndef ASIO_SERVER_HTTP2_IMPL_H #define ASIO_SERVER_HTTP2_IMPL_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_server_request.cc b/lib/asio_server_request.cc index 36669a5..8b7db60 100644 --- a/lib/asio_server_request.cc +++ b/lib/asio_server_request.cc @@ -22,13 +22,13 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "nghttp2_config.h" +#include #include #include "asio_server_request_impl.h" -#include "template.h" +#include namespace nghttp2 { namespace asio_http2 { diff --git a/lib/asio_server_request_handler.h b/lib/asio_server_request_handler.h index 5eefcfd..e57ccfd 100644 --- a/lib/asio_server_request_handler.h +++ b/lib/asio_server_request_handler.h @@ -25,7 +25,7 @@ #ifndef ASIO_SERVER_REQUEST_HANDLER_H #define ASIO_SERVER_REQUEST_HANDLER_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_server_request_impl.h b/lib/asio_server_request_impl.h index 05de98a..5f83d1a 100644 --- a/lib/asio_server_request_impl.h +++ b/lib/asio_server_request_impl.h @@ -25,7 +25,7 @@ #ifndef ASIO_SERVER_REQUEST_IMPL_H #define ASIO_SERVER_REQUEST_IMPL_H -#include "nghttp2_config.h" +#include #include #include diff --git a/lib/asio_server_response.cc b/lib/asio_server_response.cc index f67921a..c80769e 100644 --- a/lib/asio_server_response.cc +++ b/lib/asio_server_response.cc @@ -22,13 +22,13 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "nghttp2_config.h" +#include #include #include "asio_server_response_impl.h" -#include "template.h" +#include namespace nghttp2 { namespace asio_http2 { diff --git a/lib/asio_server_response_impl.h b/lib/asio_server_response_impl.h index 41df7a6..02d8f0e 100644 --- a/lib/asio_server_response_impl.h +++ b/lib/asio_server_response_impl.h @@ -25,7 +25,7 @@ #ifndef ASIO_SERVER_RESPONSE_IMPL_H #define ASIO_SERVER_RESPONSE_IMPL_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_server_serve_mux.h b/lib/asio_server_serve_mux.h index 017a6bc..73b33bf 100644 --- a/lib/asio_server_serve_mux.h +++ b/lib/asio_server_serve_mux.h @@ -25,7 +25,7 @@ #ifndef ASIO_SERVER_SERVE_MUX_H #define ASIO_SERVER_SERVE_MUX_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_server_stream.h b/lib/asio_server_stream.h index cd7e081..5014f28 100644 --- a/lib/asio_server_stream.h +++ b/lib/asio_server_stream.h @@ -25,7 +25,7 @@ #ifndef ASIO_SERVER_STREAM_H #define ASIO_SERVER_STREAM_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/asio_server_tls_context.h b/lib/asio_server_tls_context.h index 0f9b563..f3b8842 100644 --- a/lib/asio_server_tls_context.h +++ b/lib/asio_server_tls_context.h @@ -25,7 +25,7 @@ #ifndef ASIO_SERVER_TLS_CONTEXT_H #define ASIO_SERVER_TLS_CONTEXT_H -#include "nghttp2_config.h" +#include #include diff --git a/lib/http2.h b/lib/http2.h index 4f0ca5a..a41c0c7 100644 --- a/lib/http2.h +++ b/lib/http2.h @@ -25,7 +25,7 @@ #ifndef HTTP2_H #define HTTP2_H -#include "nghttp2_config.h" +#include #include #include @@ -38,7 +38,7 @@ #include "url-parser/url_parser.h" #include "util.h" -#include "template.h" +#include #include "allocator.h" namespace nghttp2 { diff --git a/lib/includes/CMakeLists.txt b/lib/includes/CMakeLists.txt index b4720c6..9e00d12 100644 --- a/lib/includes/CMakeLists.txt +++ b/lib/includes/CMakeLists.txt @@ -2,4 +2,7 @@ install(FILES nghttp2/asio_http2.h nghttp2/asio_http2_client.h nghttp2/asio_http2_server.h + nghttp2/asio_client_session_impl.h + nghttp2/nghttp2_config.h + nghttp2/template.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/nghttp2") diff --git a/lib/asio_client_session_impl.h b/lib/includes/nghttp2/asio_client_session_impl.h similarity index 98% rename from lib/asio_client_session_impl.h rename to lib/includes/nghttp2/asio_client_session_impl.h index 694ac20..bddaf81 100644 --- a/lib/asio_client_session_impl.h +++ b/lib/includes/nghttp2/asio_client_session_impl.h @@ -25,13 +25,13 @@ #ifndef ASIO_CLIENT_SESSION_IMPL_H #define ASIO_CLIENT_SESSION_IMPL_H -#include "nghttp2_config.h" +#include #include #include -#include "template.h" +#include namespace nghttp2 { namespace asio_http2 { diff --git a/lib/includes/nghttp2/asio_http2_client.h b/lib/includes/nghttp2/asio_http2_client.h index 7257914..0179d19 100644 --- a/lib/includes/nghttp2/asio_http2_client.h +++ b/lib/includes/nghttp2/asio_http2_client.h @@ -183,6 +183,8 @@ class session { const std::string &service, const boost::posix_time::time_duration &connect_timeout); + session(std::shared_ptr impl); + ~session(); session(session &&other) noexcept; diff --git a/lib/nghttp2_config.h b/lib/includes/nghttp2/nghttp2_config.h similarity index 100% rename from lib/nghttp2_config.h rename to lib/includes/nghttp2/nghttp2_config.h diff --git a/lib/template.h b/lib/includes/nghttp2/template.h similarity index 99% rename from lib/template.h rename to lib/includes/nghttp2/template.h index 50ed582..6b8ea3e 100644 --- a/lib/template.h +++ b/lib/includes/nghttp2/template.h @@ -25,7 +25,7 @@ #ifndef TEMPLATE_H #define TEMPLATE_H -#include "nghttp2_config.h" +#include #include #include diff --git a/lib/tls.h b/lib/tls.h index 8b18d32..6db9996 100644 --- a/lib/tls.h +++ b/lib/tls.h @@ -25,7 +25,7 @@ #ifndef TLS_H #define TLS_H -#include "nghttp2_config.h" +#include namespace nghttp2 { diff --git a/lib/util.h b/lib/util.h index d980e7a..3e9f757 100644 --- a/lib/util.h +++ b/lib/util.h @@ -25,7 +25,7 @@ #ifndef UTIL_H #define UTIL_H -#include "nghttp2_config.h" +#include #ifdef HAVE_UNISTD_H # include @@ -49,7 +49,7 @@ #include "url-parser/url_parser.h" -#include "template.h" +#include #include "network.h" #include "allocator.h"