From 389e5925d7063a7efdab619a018769312117f32d Mon Sep 17 00:00:00 2001 From: Peter Thorson Date: Sun, 27 Jan 2013 08:19:19 -0600 Subject: [PATCH] splits asio/asio_no_tls up a bit better, adds logging information to configs --- websocketpp/config/asio.hpp | 44 ++++++++++++------------------ websocketpp/config/asio_no_tls.hpp | 20 +++++++++----- websocketpp/config/core.hpp | 24 ++++++++++------ 3 files changed, 45 insertions(+), 43 deletions(-) diff --git a/websocketpp/config/asio.hpp b/websocketpp/config/asio.hpp index 240cc8a7ad..166c7d33c0 100644 --- a/websocketpp/config/asio.hpp +++ b/websocketpp/config/asio.hpp @@ -25,43 +25,23 @@ * */ -#ifndef WEBSOCKETPP_CONFIG_ASIO_HPP -#define WEBSOCKETPP_CONFIG_ASIO_HPP +#ifndef WEBSOCKETPP_CONFIG_ASIO_TLS_HPP +#define WEBSOCKETPP_CONFIG_ASIO_TLS_HPP #include #include #include +// Pull in non-tls config +#include + +// Define TLS config namespace websocketpp { namespace config { -struct asio : public core { - typedef core::concurrency_type concurrency_type; - - typedef websocketpp::transport::asio::basic_socket::endpoint socket_type; - - typedef websocketpp::transport::asio::endpoint - transport_type; - - typedef core::request_type request_type; - typedef core::response_type response_type; - - typedef core::message_type message_type; - typedef core::con_msg_manager_type con_msg_manager_type; - typedef core::endpoint_msg_manager_type endpoint_msg_manager_type; - - typedef core::alog_type alog_type; - typedef core::alog_type elog_type; -}; - struct asio_tls : public core { typedef core::concurrency_type concurrency_type; - typedef websocketpp::transport::asio::tls_socket::endpoint socket_type; - - typedef websocketpp::transport::asio::endpoint - transport_type; - typedef core::request_type request_type; typedef core::response_type response_type; @@ -71,9 +51,19 @@ struct asio_tls : public core { typedef core::alog_type alog_type; typedef core::alog_type elog_type; + + struct transport_config { + typedef asio_tls::concurrency_type concurrency_type; + typedef asio_tls::alog_type alog_type; + typedef asio_tls::elog_type elog_type; + typedef websocketpp::transport::asio::tls_socket::endpoint socket_type; + }; + + typedef websocketpp::transport::asio::endpoint + transport_type; }; } // namespace config } // namespace websocketpp -#endif // WEBSOCKETPP_CONFIG_CORE_HPP +#endif // WEBSOCKETPP_CONFIG_ASIO_TLS_HPP diff --git a/websocketpp/config/asio_no_tls.hpp b/websocketpp/config/asio_no_tls.hpp index a1b44d712f..47627e89b2 100644 --- a/websocketpp/config/asio_no_tls.hpp +++ b/websocketpp/config/asio_no_tls.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Peter Thorson. All rights reserved. + * Copyright (c) 2013, Peter Thorson. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -37,11 +37,6 @@ namespace config { struct asio : public core { typedef core::concurrency_type concurrency_type; - typedef websocketpp::transport::asio::basic_socket::endpoint socket_type; - - typedef websocketpp::transport::asio::endpoint - transport_type; - typedef core::request_type request_type; typedef core::response_type response_type; @@ -51,9 +46,20 @@ struct asio : public core { typedef core::alog_type alog_type; typedef core::alog_type elog_type; + + struct transport_config { + typedef asio::concurrency_type concurrency_type; + typedef asio::alog_type alog_type; + typedef asio::elog_type elog_type; + typedef websocketpp::transport::asio::basic_socket::endpoint + socket_type; + }; + + typedef websocketpp::transport::asio::endpoint + transport_type; }; } // namespace config } // namespace websocketpp -#endif // WEBSOCKETPP_CONFIG_CORE_HPP +#endif // WEBSOCKETPP_CONFIG_ASIO_HPP diff --git a/websocketpp/config/core.hpp b/websocketpp/config/core.hpp index 418c0acda7..9ff71c6461 100644 --- a/websocketpp/config/core.hpp +++ b/websocketpp/config/core.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Peter Thorson. All rights reserved. + * Copyright (c) 2013, Peter Thorson. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -55,10 +55,6 @@ struct core { // Concurrency policy typedef websocketpp::concurrency::basic concurrency_type; - // Transport Policy - typedef websocketpp::transport::iostream::endpoint - transport_type; - // HTTP Parser Policies typedef http::parser::request request_type; typedef http::parser::response response_type; @@ -72,11 +68,21 @@ struct core { endpoint_msg_manager_type; /// Logging policies - typedef websocketpp::logger::basic elog_type; - typedef websocketpp::logger::basic alog_type; + typedef websocketpp::log::basic elog_type; + typedef websocketpp::log::basic alog_type; + struct transport_config { + typedef core::concurrency_type concurrency_type; + typedef core::elog_type elog_type; + typedef core::alog_type alog_type; + }; + + /// Transport Endpoint Component + typedef websocketpp::transport::iostream::endpoint + transport_type; + /// static const size_t connection_read_buffer_size = 32;