Repository: zaphoyd/websocketpp Branch: master Commit: 4dfe1be74e68 Files: 268 Total size: 1.6 MB Directory structure: gitextract_ab40ebgr/ ├── .gitattributes ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── .travis.yml ├── CMakeLists.txt ├── COPYING ├── Doxyfile ├── SConstruct ├── changelog.md ├── docs/ │ ├── config.dox │ ├── faq.dox │ ├── getting_started.dox │ ├── handlers.dox │ ├── logging.dox │ ├── manual.css │ ├── manual.dox │ ├── simple_broadcast_server.cpp │ ├── simple_count_server_thread.cpp │ └── tutorials.dox ├── examples/ │ ├── associative_storage/ │ │ ├── CMakeLists.txt │ │ └── associative_storage.cpp │ ├── broadcast_server/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── broadcast_server.cpp │ ├── debug_client/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── debug_client.cpp │ ├── debug_server/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── debug_server.cpp │ ├── dev/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── main.cpp │ ├── echo_client/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── echo_client.cpp │ ├── echo_server/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── echo_handler.hpp │ │ └── echo_server.cpp │ ├── echo_server_both/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── echo_server_both.cpp │ │ └── server.pem │ ├── echo_server_tls/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── dh.pem │ │ ├── echo_server_tls.cpp │ │ └── server.pem │ ├── enriched_storage/ │ │ ├── CMakeLists.txt │ │ └── enriched_storage.cpp │ ├── external_io_service/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── external_io_service.cpp │ │ └── tcp_echo_server.hpp │ ├── handler_switch/ │ │ ├── CMakeLists.txt │ │ └── handler_switch.cpp │ ├── iostream_server/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── iostream_server.cpp │ ├── print_client/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── print_client.cpp │ ├── print_client_tls/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── ca-chain.cert.pem │ │ └── print_client_tls.cpp │ ├── print_server/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── print_server.cpp │ ├── scratch_client/ │ │ ├── SConscript │ │ └── scratch_client.cpp │ ├── scratch_server/ │ │ ├── SConscript │ │ └── scratch_server.cpp │ ├── simple_broadcast_server/ │ │ ├── CMakeLists.txt │ │ └── simple_broadcast_server.cpp │ ├── sip_client/ │ │ ├── CMakeLists.txt │ │ ├── README.txt │ │ ├── SConscript │ │ └── sip_client.cpp │ ├── subprotocol_server/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── subprotocol_server.cpp │ ├── telemetry_client/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── telemetry_client.cpp │ ├── telemetry_server/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── index.html │ │ └── telemetry_server.cpp │ ├── testee_client/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── testee_client.cpp │ ├── testee_server/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── testee_server.cpp │ └── utility_client/ │ ├── CMakeLists.txt │ ├── SConscript │ └── utility_client.cpp ├── readme.md ├── roadmap.md ├── test/ │ ├── connection/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── connection.cpp │ │ ├── connection_tu2.cpp │ │ └── connection_tu2.hpp │ ├── endpoint/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── endpoint.cpp │ ├── extension/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── extension.cpp │ │ └── permessage_deflate.cpp │ ├── http/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── parser.cpp │ │ └── parser_perf.cpp │ ├── logger/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ └── basic.cpp │ ├── message_buffer/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── alloc.cpp │ │ ├── message.cpp │ │ └── pool.cpp │ ├── processors/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── extension_permessage_compress.cpp │ │ ├── hybi00.cpp │ │ ├── hybi07.cpp │ │ ├── hybi08.cpp │ │ ├── hybi13.cpp │ │ └── processor.cpp │ ├── random/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── none.cpp │ │ └── random_device.cpp │ ├── roles/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── client.cpp │ │ └── server.cpp │ ├── transport/ │ │ ├── CMakeLists.txt │ │ ├── SConscript │ │ ├── asio/ │ │ │ ├── SConscript │ │ │ ├── base.cpp │ │ │ ├── security.cpp │ │ │ └── timers.cpp │ │ ├── hybi_util.cpp │ │ ├── integration.cpp │ │ └── iostream/ │ │ ├── SConscript │ │ ├── base.cpp │ │ ├── connection.cpp │ │ └── endpoint.cpp │ └── utility/ │ ├── CMakeLists.txt │ ├── SConscript │ ├── close.cpp │ ├── error.cpp │ ├── frame.cpp │ ├── sha1.cpp │ ├── uri.cpp │ └── utilities.cpp ├── tutorials/ │ ├── broadcast_tutorial/ │ │ └── broadcast_tutorial.md │ ├── chat_tutorial/ │ │ └── chat_tutorial.md │ ├── utility_client/ │ │ ├── step1.cpp │ │ ├── step2.cpp │ │ ├── step3.cpp │ │ ├── step4.cpp │ │ ├── step5.cpp │ │ ├── step6.cpp │ │ └── utility_client.md │ └── utility_server/ │ ├── step1.cpp │ ├── step2.cpp │ └── utility_server.md ├── websocketpp/ │ ├── CMakeLists.txt │ ├── base64/ │ │ └── base64.hpp │ ├── client.hpp │ ├── close.hpp │ ├── common/ │ │ ├── asio.hpp │ │ ├── asio_ssl.hpp │ │ ├── chrono.hpp │ │ ├── connection_hdl.hpp │ │ ├── cpp11.hpp │ │ ├── functional.hpp │ │ ├── md5.hpp │ │ ├── memory.hpp │ │ ├── network.hpp │ │ ├── platforms.hpp │ │ ├── random.hpp │ │ ├── regex.hpp │ │ ├── stdint.hpp │ │ ├── system_error.hpp │ │ ├── thread.hpp │ │ ├── time.hpp │ │ └── type_traits.hpp │ ├── concurrency/ │ │ ├── basic.hpp │ │ └── none.hpp │ ├── config/ │ │ ├── asio.hpp │ │ ├── asio_client.hpp │ │ ├── asio_no_tls.hpp │ │ ├── asio_no_tls_client.hpp │ │ ├── boost_config.hpp │ │ ├── core.hpp │ │ ├── core_client.hpp │ │ ├── debug.hpp │ │ ├── debug_asio.hpp │ │ ├── debug_asio_no_tls.hpp │ │ ├── minimal_client.hpp │ │ └── minimal_server.hpp │ ├── connection.hpp │ ├── connection_base.hpp │ ├── endpoint.hpp │ ├── endpoint_base.hpp │ ├── error.hpp │ ├── extensions/ │ │ ├── extension.hpp │ │ └── permessage_deflate/ │ │ ├── disabled.hpp │ │ └── enabled.hpp │ ├── frame.hpp │ ├── http/ │ │ ├── constants.hpp │ │ ├── impl/ │ │ │ ├── parser.hpp │ │ │ ├── request.hpp │ │ │ └── response.hpp │ │ ├── parser.hpp │ │ ├── request.hpp │ │ └── response.hpp │ ├── impl/ │ │ ├── connection_impl.hpp │ │ ├── endpoint_impl.hpp │ │ └── utilities_impl.hpp │ ├── logger/ │ │ ├── basic.hpp │ │ ├── levels.hpp │ │ ├── stub.hpp │ │ └── syslog.hpp │ ├── message_buffer/ │ │ ├── alloc.hpp │ │ ├── message.hpp │ │ └── pool.hpp │ ├── processors/ │ │ ├── base.hpp │ │ ├── hybi00.hpp │ │ ├── hybi07.hpp │ │ ├── hybi08.hpp │ │ ├── hybi13.hpp │ │ └── processor.hpp │ ├── random/ │ │ ├── none.hpp │ │ └── random_device.hpp │ ├── roles/ │ │ ├── client_endpoint.hpp │ │ └── server_endpoint.hpp │ ├── server.hpp │ ├── sha1/ │ │ └── sha1.hpp │ ├── transport/ │ │ ├── asio/ │ │ │ ├── base.hpp │ │ │ ├── connection.hpp │ │ │ ├── endpoint.hpp │ │ │ └── security/ │ │ │ ├── base.hpp │ │ │ ├── none.hpp │ │ │ └── tls.hpp │ │ ├── base/ │ │ │ ├── connection.hpp │ │ │ └── endpoint.hpp │ │ ├── debug/ │ │ │ ├── base.hpp │ │ │ ├── connection.hpp │ │ │ └── endpoint.hpp │ │ ├── iostream/ │ │ │ ├── base.hpp │ │ │ ├── connection.hpp │ │ │ └── endpoint.hpp │ │ └── stub/ │ │ ├── base.hpp │ │ ├── connection.hpp │ │ └── endpoint.hpp │ ├── uri.hpp │ ├── utf8_validator.hpp │ ├── utilities.hpp │ └── version.hpp └── websocketpp-config.cmake.in ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitattributes ================================================ # Lineendings *.sln eol=crlf *.vcproj eol=crlf *.vcxproj* eol=crlf # Whitespace rules # strict (no trailing, no tabs) *.cpp whitespace=trailing-space,space-before-tab,tab-in-indent,cr-at-eol *.hpp whitespace=trailing-space,space-before-tab,tab-in-indent,cr-at-eol *.c whitespace=trailing-space,space-before-tab,tab-in-indent,cr-at-eol *.h whitespace=trailing-space,space-before-tab,tab-in-indent,cr-at-eol # normal (no trailing) *.sql whitespace=trailing-space,space-before-tab,cr-at-eol *.txt whitespace=trailing-space,space-before-tab,cr-at-eol # special files which must ignore whitespace *.patch whitespace=-trailing-space ================================================ FILE: .github/FUNDING.yml ================================================ # These are supported funding model platforms github: [zaphoyd] ================================================ FILE: .gitignore ================================================ # make .git* files visible to git !.gitignore !.gitattributes .DS_Store #vim stuff *~ *.swp *.o *.so *.so.? *.so.?.?.? *.a *.dylib lib/* # CMake *.cmake *.dir CMakeFiles INSTALL.* ZERO_CHECK.* CMakeCache.txt install_manifest.txt # Windows/Visual Studio *.vcproj* *.sln *.suo *.ncb */Debug/* */*/Debug/* bin/Debug */Release/* */*/Release/* */RelWithDebInfo/* */*/RelWithDebInfo/* # explicitly allow this path with /debug/ in it !websocketpp/transport/debug/* objs_shared/ objs_static/ examples/chat_server/chat_server examples/echo_server/echo_server examples/chat_client/chat_client examples/echo_client/echo_client test/basic/tests libwebsocketpp.dylib.0.1.0 websocketpp.xcodeproj/xcuserdata/* websocketpp.xcodeproj/project.xcworkspace/xcuserdata/* policy_based_notes.hpp examples/echo_server_tls/echo_server_tls examples/fuzzing_client/fuzzing_client examples/stress_client/stress_client examples/broadcast_server_tls/broadcast_server test/basic/perf examples/echo_server_tls/echo_server_tls examples/concurrent_server/concurrent_server examples/fuzzing_server_tls/fuzzing_server examples/wsperf/wsperf .sconsign.dblite build/ doxygen/ examples/wsperf/wsperf_client *.out *.log *.opensdf *.sdf *.vcxproj *.vcxproj.filters *.user install Makefile bin Testing/Temporary/CTestCostData.txt ================================================ FILE: .travis.yml ================================================ language: cpp compiler: - gcc before_install: #- sudo apt-get install libboost-chrono1.48-dev libboost-regex1.48-dev libboost-system1.48-dev libboost-thread1.48-dev libboost-test1.48-dev libboost-random1.48-dev -y - sudo add-apt-repository -y ppa:boost-latest/ppa && sudo apt-get update -q && sudo apt-get install -y libboost-chrono1.55-dev libboost-random1.55-dev libboost-regex1.55-dev libboost-system1.55-dev libboost-thread1.55-dev libboost-test1.55-dev env: global: - BOOST_INCLUDES=/usr/include - BOOST_LIBS=/usr/lib/x86_64-linux-gnu script: scons -j 2 && scons test branches: only: - master - develop notifications: recipients: - travis@zaphoyd.com email: on_success: change on_failure: always ================================================ FILE: CMakeLists.txt ================================================ ############ Setup project and cmake # Minimum cmake requirement. We should require a quite recent # cmake for the dependency find macros etc. to be up to date. cmake_minimum_required (VERSION 3.10) ############ Paths set (WEBSOCKETPP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) set (WEBSOCKETPP_INCLUDE ${WEBSOCKETPP_ROOT}/websocketpp) set (WEBSOCKETPP_BUILD_ROOT ${CMAKE_CURRENT_BINARY_DIR}) set (WEBSOCKETPP_BIN ${WEBSOCKETPP_BUILD_ROOT}/bin) set (WEBSOCKETPP_LIB ${WEBSOCKETPP_BUILD_ROOT}/lib) # CMake install step prefix. I assume linux users want the prefix to # be the default /usr or /usr/local so this is only adjusted on Windows. # This must be set prior to any call to project or it will not be read correctly. # - Windows: Build the INSTALL project in your solution file. # - Linux/OSX: make install. if (WIN32) set (CMAKE_INSTALL_PREFIX "${WEBSOCKETPP_ROOT}/install" CACHE PATH "") endif () ############ Project name and version set (WEBSOCKETPP_MAJOR_VERSION 0) set (WEBSOCKETPP_MINOR_VERSION 8) set (WEBSOCKETPP_PATCH_VERSION 2) set (WEBSOCKETPP_VERSION ${WEBSOCKETPP_MAJOR_VERSION}.${WEBSOCKETPP_MINOR_VERSION}.${WEBSOCKETPP_PATCH_VERSION}) if(POLICY CMP0048) cmake_policy(GET CMP0048 _version_policy) endif() if(_version_allowed STREQUAL NEW) project (websocketpp VERSION ${WEBSOCKETPP_VERSION}) else() project (websocketpp) endif() set_property(GLOBAL PROPERTY USE_FOLDERS ON) set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") if (WIN32 AND NOT CYGWIN) set (DEF_INSTALL_CMAKE_DIR cmake) else () set (DEF_INSTALL_CMAKE_DIR lib/cmake/websocketpp) endif () set (INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") # Make relative paths absolute (needed later on) foreach (p INCLUDE CMAKE) set (var INSTALL_${p}_DIR) if (NOT IS_ABSOLUTE "${${var}}") set (${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") endif () endforeach () # Set CMake library search policy if (COMMAND cmake_policy) cmake_policy (SET CMP0003 NEW) cmake_policy (SET CMP0005 NEW) endif () # Disable unnecessary build types set (CMAKE_CONFIGURATION_TYPES "Release;RelWithDebInfo;Debug" CACHE STRING "Configurations" FORCE) # Include our cmake macros set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) include (CMakeHelpers) ############ Build customization # Override from command line "CMake -D