From 36aae8c3103d62b9097d065bc09b37fd0a15424a Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 6 Mar 2015 01:58:56 +0900 Subject: [PATCH] asio: Move server::http2 to its own file --- src/Makefile.am | 1 + src/asio_server_http2.cc | 63 +++++++++++++++++++++++++++++++++++ src/asio_server_http2_impl.cc | 20 ----------- 3 files changed, 64 insertions(+), 20 deletions(-) create mode 100644 src/asio_server_http2.cc diff --git a/src/Makefile.am b/src/Makefile.am index 54140e36..43103ade 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -177,6 +177,7 @@ libnghttp2_asio_la_SOURCES = \ ssl.cc ssl.h \ asio_common.cc asio_common.h \ asio_io_service_pool.cc asio_io_service_pool.h \ + asio_server_http2.cc \ asio_server_http2_impl.cc asio_server_http2_impl.h \ asio_server.cc asio_server.h \ asio_server_http2_handler.cc asio_server_http2_handler.h \ diff --git a/src/asio_server_http2.cc b/src/asio_server_http2.cc new file mode 100644 index 00000000..e269adb5 --- /dev/null +++ b/src/asio_server_http2.cc @@ -0,0 +1,63 @@ +/* + * nghttp2 - HTTP/2 C Library + * + * Copyright (c) 2014 Tatsuhiro Tsujikawa + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * 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 "asio_server_http2_impl.h" +#include "asio_server.h" +#include "template.h" + +namespace nghttp2 { + +namespace asio_http2 { + +namespace server { + +http2::http2() : impl_(make_unique()) {} + +http2::~http2() {} + +void http2::listen_and_serve(const std::string &address, uint16_t port) { + impl_->listen_and_serve(address, port); +} + +void http2::num_threads(size_t num_threads) { impl_->num_threads(num_threads); } + +void http2::tls(std::string private_key_file, std::string certificate_file) { + impl_->tls(std::move(private_key_file), std::move(certificate_file)); +} + +void http2::backlog(int backlog) { impl_->backlog(backlog); } + +bool http2::handle(std::string pattern, request_cb cb) { + return impl_->handle(std::move(pattern), std::move(cb)); +} + +} // namespace server + +} // namespace asio_http2 + +} // namespace nghttp2 diff --git a/src/asio_server_http2_impl.cc b/src/asio_server_http2_impl.cc index 5567cc5a..1fd08ce2 100644 --- a/src/asio_server_http2_impl.cc +++ b/src/asio_server_http2_impl.cc @@ -37,26 +37,6 @@ namespace asio_http2 { namespace server { -http2::http2() : impl_(make_unique()) {} - -http2::~http2() {} - -void http2::listen_and_serve(const std::string &address, uint16_t port) { - impl_->listen_and_serve(address, port); -} - -void http2::num_threads(size_t num_threads) { impl_->num_threads(num_threads); } - -void http2::tls(std::string private_key_file, std::string certificate_file) { - impl_->tls(std::move(private_key_file), std::move(certificate_file)); -} - -void http2::backlog(int backlog) { impl_->backlog(backlog); } - -bool http2::handle(std::string pattern, request_cb cb) { - return impl_->handle(std::move(pattern), std::move(cb)); -} - http2_impl::http2_impl() : num_threads_(1), backlog_(-1) {} namespace {