Compare commits
	
		
			11 Commits
		
	
	
		
			v8.1.4
			...
			feature/se
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | bdee582203 | ||
|  | 4ef04b8339 | ||
|  | e581f29b42 | ||
|  | a42f115f79 | ||
|  | 5ce1a596cf | ||
|  | 21db7b6c5b | ||
|  | e15a2900e7 | ||
|  | 140a21c8b3 | ||
|  | 6d0c568aaa | ||
|  | c96abcef1c | ||
|  | 4a9b0b9dfd | 
							
								
								
									
										2
									
								
								.github/workflows/ccpp.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/ccpp.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| name: C/C++ CI | ||||
| name: unittest | ||||
|  | ||||
| on: [push] | ||||
|  | ||||
|   | ||||
| @@ -201,8 +201,8 @@ if (ZLIB_FOUND) | ||||
|   include_directories(${ZLIB_INCLUDE_DIRS}) | ||||
|   target_link_libraries(ixwebsocket ${ZLIB_LIBRARIES}) | ||||
| else() | ||||
|   add_subdirectory(third_party/zlib) | ||||
|   include_directories(third_party/zlib ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib) | ||||
|   add_subdirectory(third_party/zlib) | ||||
|   target_link_libraries(ixwebsocket zlibstatic) | ||||
| endif() | ||||
|  | ||||
| @@ -232,6 +232,7 @@ if (USE_WS OR USE_TEST) | ||||
|   add_subdirectory(ixsentry) | ||||
|  | ||||
|   add_subdirectory(third_party/spdlog spdlog) | ||||
|   add_subdirectory(third_party/sentry-native sentry-native) | ||||
|  | ||||
|   if (USE_WS) | ||||
|       add_subdirectory(ws) | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| ## Hello world | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| IXWebSocket is a C++ library for WebSocket client and server development. It has minimal dependencies (no boost), is very simple to use and support everything you'll likely need for websocket dev (SSL, deflate compression, compiles on most platforms, etc...). HTTP client and server code is also available, but it hasn't received as much testing. | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,22 @@ | ||||
| # Changelog | ||||
| All changes to this project will be documented in this file. | ||||
|  | ||||
| ## [8.1.8] - 2020-03-02 | ||||
|  | ||||
| (websocket server) fix regression with disabling zlib extension on the server side. If a client does not support this extension the server will handle it fine. We still need to figure out how to disable the option. | ||||
|  | ||||
| ## [8.1.7] - 2020-02-26 | ||||
|  | ||||
| (websocket) traffic tracker received bytes is message size while it should be wire size | ||||
|  | ||||
| ## [8.1.6] - 2020-02-26 | ||||
|  | ||||
| (ws_connect) display sent/received bytes statistics on exit | ||||
|  | ||||
| ## [8.1.5] - 2020-02-23 | ||||
|  | ||||
| (server) give thread name to some usual worker threads / unittest is broken !! | ||||
|  | ||||
| ## [8.1.4] - 2020-02-22 | ||||
|  | ||||
| (websocket server) fix regression from 8.1.2, where per-deflate message compression was always disabled | ||||
|   | ||||
| @@ -7,6 +7,7 @@ | ||||
| #include "IXSocketServer.h" | ||||
|  | ||||
| #include "IXNetSystem.h" | ||||
| #include "IXSetThreadName.h" | ||||
| #include "IXSocket.h" | ||||
| #include "IXSocketConnect.h" | ||||
| #include "IXSocketFactory.h" | ||||
| @@ -247,6 +248,8 @@ namespace ix | ||||
|         // Set the socket to non blocking mode, so that accept calls are not blocking | ||||
|         SocketConnect::configure(_serverFd); | ||||
|  | ||||
|         setThreadName("SocketServer::listen"); | ||||
|  | ||||
|         for (;;) | ||||
|         { | ||||
|             if (_stop) return; | ||||
| @@ -347,6 +350,8 @@ namespace ix | ||||
|  | ||||
|     void SocketServer::runGC() | ||||
|     { | ||||
|         setThreadName("SocketServer::GC"); | ||||
|  | ||||
|         for (;;) | ||||
|         { | ||||
|             // Garbage collection to shutdown/join threads for closed connections. | ||||
|   | ||||
| @@ -412,7 +412,7 @@ namespace ix | ||||
|                                                                           WebSocketCloseInfo(), | ||||
|                                                                           binary)); | ||||
|  | ||||
|                     WebSocket::invokeTrafficTrackerCallback(msg.size(), true); | ||||
|                     WebSocket::invokeTrafficTrackerCallback(wireSize, true); | ||||
|                 }); | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -72,7 +72,7 @@ namespace ix | ||||
|         WebSocketInitResult connect(int timeoutSecs); | ||||
|         void run(); | ||||
|  | ||||
|         // send is in binary mode by default | ||||
|         // send is in text mode by default | ||||
|         WebSocketSendInfo send(const std::string& data, | ||||
|                                bool binary = false, | ||||
|                                const OnProgressCallback& onProgressCallback = nullptr); | ||||
|   | ||||
| @@ -337,8 +337,7 @@ namespace ix | ||||
|         WebSocketPerMessageDeflateOptions webSocketPerMessageDeflateOptions(header); | ||||
|  | ||||
|         // If the client has requested that extension, | ||||
|         // and the server does not prevent it, enable it. | ||||
|         if (_enablePerMessageDeflate && webSocketPerMessageDeflateOptions.enabled()) | ||||
|         if (webSocketPerMessageDeflateOptions.enabled()) | ||||
|         { | ||||
|             _enablePerMessageDeflate = true; | ||||
|  | ||||
|   | ||||
| @@ -7,6 +7,7 @@ | ||||
| #include "IXWebSocketServer.h" | ||||
|  | ||||
| #include "IXNetSystem.h" | ||||
| #include "IXSetThreadName.h" | ||||
| #include "IXSocketConnect.h" | ||||
| #include "IXWebSocket.h" | ||||
| #include "IXWebSocketTransport.h" | ||||
| @@ -73,6 +74,8 @@ namespace ix | ||||
|     void WebSocketServer::handleConnection(std::shared_ptr<Socket> socket, | ||||
|                                            std::shared_ptr<ConnectionState> connectionState) | ||||
|     { | ||||
|         setThreadName("WebSocketServer::" + connectionState->getId()); | ||||
|  | ||||
|         auto webSocket = std::make_shared<WebSocket>(); | ||||
|         _onConnectionCallback(webSocket, connectionState); | ||||
|  | ||||
| @@ -87,15 +90,6 @@ namespace ix | ||||
|             webSocket->disablePong(); | ||||
|         } | ||||
|  | ||||
|         if (_enablePerMessageDeflate) | ||||
|         { | ||||
|             webSocket->enablePerMessageDeflate(); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             webSocket->disablePerMessageDeflate(); | ||||
|         } | ||||
|  | ||||
|         // Add this client to our client set | ||||
|         { | ||||
|             std::lock_guard<std::mutex> lock(_clientsMutex); | ||||
|   | ||||
| @@ -6,4 +6,4 @@ | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #define IX_WEBSOCKET_VERSION "8.1.4" | ||||
| #define IX_WEBSOCKET_VERSION "8.1.7" | ||||
|   | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for ALL_BUILD | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ALL_BUILD | ||||
|  | ||||
|  | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ALL_BUILD:  | ||||
| 	echo "" | ||||
| 	echo Build\ all\ projects | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for ALL_BUILD | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ALL_BUILD | ||||
|  | ||||
|  | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ALL_BUILD:  | ||||
| 	echo "" | ||||
| 	echo Build\ all\ projects | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for ALL_BUILD | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ALL_BUILD | ||||
|  | ||||
|  | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ALL_BUILD:  | ||||
| 	echo "" | ||||
| 	echo Build\ all\ projects | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for ALL_BUILD | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ALL_BUILD | ||||
|  | ||||
|  | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ALL_BUILD:  | ||||
| 	echo "" | ||||
| 	echo Build\ all\ projects | ||||
							
								
								
									
										18
									
								
								sentry-native/CMakeScripts/ReRunCMake.make
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								sentry-native/CMakeScripts/ReRunCMake.make
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
|  | ||||
| TARGETS:=  | ||||
| empty:=  | ||||
| space:= $(empty) $(empty) | ||||
| spaceplus:= $(empty)\ $(empty) | ||||
|  | ||||
| TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Applications/CMake.app/Contents/share/cmake-3.12/Modules/CMakeASMInformation.cmake)) | ||||
| TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Applications/CMake.app/Contents/share/cmake-3.12/Modules/Compiler/AppleClang-ASM.cmake)) | ||||
| TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Applications/CMake.app/Contents/share/cmake-3.12/Modules/Compiler/Clang-ASM.cmake)) | ||||
| TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Applications/CMake.app/Contents/share/cmake-3.12/Modules/Compiler/Clang.cmake)) | ||||
| TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Applications/CMake.app/Contents/share/cmake-3.12/Modules/Platform/Apple-clang.cmake)) | ||||
| TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/bsergeant/src/foss/IXWebSocket/CMakeFiles/3.12.3/CMakeASMCompiler.cmake)) | ||||
| TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/bsergeant/src/foss/IXWebSocket/third_party/sentry-native/CMakeLists.txt)) | ||||
| TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/bsergeant/src/foss/IXWebSocket/third_party/sentry-native/src/CMakeLists.txt)) | ||||
|  | ||||
| /Users/bsergeant/src/foss/IXWebSocket/CMakeFiles/cmake.check_cache: $(TARGETS) | ||||
| 	/Applications/CMake.app/Contents/bin/cmake -H/Users/bsergeant/src/foss/IXWebSocket -B/Users/bsergeant/src/foss/IXWebSocket | ||||
							
								
								
									
										139
									
								
								sentry-native/CMakeScripts/XCODE_DEPEND_HELPER.make
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								sentry-native/CMakeScripts/XCODE_DEPEND_HELPER.make
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,139 @@ | ||||
| # DO NOT EDIT | ||||
| # This makefile makes sure all linkable targets are | ||||
| # up-to-date with anything they link to | ||||
| default: | ||||
| 	echo "Do not invoke directly" | ||||
|  | ||||
| # Rules to remove targets that are older than anything to which they | ||||
| # link.  This forces Xcode to relink the targets from scratch.  It | ||||
| # does not seem to check these dependencies itself. | ||||
| PostBuild.example.Debug: | ||||
| PostBuild.sentry.Debug: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example | ||||
|  | ||||
|  | ||||
| PostBuild.example_crashpad.Debug: | ||||
| PostBuild.sentry.Debug: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example_crashpad | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example_crashpad:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example_crashpad | ||||
|  | ||||
|  | ||||
| PostBuild.sentry.Debug: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a: | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a | ||||
|  | ||||
|  | ||||
| PostBuild.sentry_test_integration.Debug: | ||||
| PostBuild.sentry.Debug: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_integration | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_integration:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_integration | ||||
|  | ||||
|  | ||||
| PostBuild.sentry_test_unit.Debug: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_unit: | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_unit | ||||
|  | ||||
|  | ||||
| PostBuild.example.Release: | ||||
| PostBuild.sentry.Release: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example | ||||
|  | ||||
|  | ||||
| PostBuild.example_crashpad.Release: | ||||
| PostBuild.sentry.Release: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example_crashpad | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example_crashpad:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/example_crashpad | ||||
|  | ||||
|  | ||||
| PostBuild.sentry.Release: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a: | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a | ||||
|  | ||||
|  | ||||
| PostBuild.sentry_test_integration.Release: | ||||
| PostBuild.sentry.Release: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_integration | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_integration:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_integration | ||||
|  | ||||
|  | ||||
| PostBuild.sentry_test_unit.Release: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_unit: | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/sentry_test_unit | ||||
|  | ||||
|  | ||||
| PostBuild.example.MinSizeRel: | ||||
| PostBuild.sentry.MinSizeRel: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/example | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/example:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/example | ||||
|  | ||||
|  | ||||
| PostBuild.example_crashpad.MinSizeRel: | ||||
| PostBuild.sentry.MinSizeRel: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/example_crashpad | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/example_crashpad:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/example_crashpad | ||||
|  | ||||
|  | ||||
| PostBuild.sentry.MinSizeRel: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.a: | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.a | ||||
|  | ||||
|  | ||||
| PostBuild.sentry_test_integration.MinSizeRel: | ||||
| PostBuild.sentry.MinSizeRel: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/sentry_test_integration | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/sentry_test_integration:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/sentry_test_integration | ||||
|  | ||||
|  | ||||
| PostBuild.sentry_test_unit.MinSizeRel: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/sentry_test_unit: | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/sentry_test_unit | ||||
|  | ||||
|  | ||||
| PostBuild.example.RelWithDebInfo: | ||||
| PostBuild.sentry.RelWithDebInfo: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/example | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/example:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/example | ||||
|  | ||||
|  | ||||
| PostBuild.example_crashpad.RelWithDebInfo: | ||||
| PostBuild.sentry.RelWithDebInfo: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/example_crashpad | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/example_crashpad:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/example_crashpad | ||||
|  | ||||
|  | ||||
| PostBuild.sentry.RelWithDebInfo: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.a: | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.a | ||||
|  | ||||
|  | ||||
| PostBuild.sentry_test_integration.RelWithDebInfo: | ||||
| PostBuild.sentry.RelWithDebInfo: /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/sentry_test_integration | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/sentry_test_integration:\ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.a | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/sentry_test_integration | ||||
|  | ||||
|  | ||||
| PostBuild.sentry_test_unit.RelWithDebInfo: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/sentry_test_unit: | ||||
| 	/bin/rm -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/sentry_test_unit | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| # For each target create a dummy ruleso the target does not have to exist | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.a: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.a: | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a: | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for ZERO_CHECK | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ZERO_CHECK | ||||
|  | ||||
|  | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ZERO_CHECK:  | ||||
| 	echo "" | ||||
| 	make -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeScripts/ReRunCMake.make | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for ZERO_CHECK | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ZERO_CHECK | ||||
|  | ||||
|  | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ZERO_CHECK:  | ||||
| 	echo "" | ||||
| 	make -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeScripts/ReRunCMake.make | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for ZERO_CHECK | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ZERO_CHECK | ||||
|  | ||||
|  | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ZERO_CHECK:  | ||||
| 	echo "" | ||||
| 	make -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeScripts/ReRunCMake.make | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for ZERO_CHECK | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	/Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ZERO_CHECK | ||||
|  | ||||
|  | ||||
| /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeFiles/ZERO_CHECK:  | ||||
| 	echo "" | ||||
| 	make -f /Users/bsergeant/src/foss/IXWebSocket/sentry-native/CMakeScripts/ReRunCMake.make | ||||
| @@ -0,0 +1,9 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for install | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	install_buildpart_0 | ||||
|  | ||||
|  | ||||
| install_buildpart_0:  | ||||
| 	/Applications/CMake.app/Contents/bin/cmake -DBUILD_TYPE=$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -P cmake_install.cmake | ||||
| @@ -0,0 +1,9 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for install | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	install_buildpart_0 | ||||
|  | ||||
|  | ||||
| install_buildpart_0:  | ||||
| 	/Applications/CMake.app/Contents/bin/cmake -DBUILD_TYPE=$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -P cmake_install.cmake | ||||
| @@ -0,0 +1,9 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for install | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	install_buildpart_0 | ||||
|  | ||||
|  | ||||
| install_buildpart_0:  | ||||
| 	/Applications/CMake.app/Contents/bin/cmake -DBUILD_TYPE=$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -P cmake_install.cmake | ||||
| @@ -0,0 +1,9 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for install | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	install_buildpart_0 | ||||
|  | ||||
|  | ||||
| install_buildpart_0:  | ||||
| 	/Applications/CMake.app/Contents/bin/cmake -DBUILD_TYPE=$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -P cmake_install.cmake | ||||
							
								
								
									
										10
									
								
								sentry-native/CMakeScripts/sentry_postBuildPhase.makeDebug
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								sentry-native/CMakeScripts/sentry_postBuildPhase.makeDebug
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for sentry | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	sentry_buildpart_0 | ||||
|  | ||||
|  | ||||
| sentry_buildpart_0:  | ||||
| 	echo "Creating symlinks" | ||||
| 	/Applications/CMake.app/Contents/bin/cmake -E cmake_symlink_library /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.dylib /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.dylib /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.dylib | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for sentry | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	sentry_buildpart_0 | ||||
|  | ||||
|  | ||||
| sentry_buildpart_0:  | ||||
| 	echo "Creating symlinks" | ||||
| 	/Applications/CMake.app/Contents/bin/cmake -E cmake_symlink_library /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.dylib /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.dylib /Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.dylib | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for sentry | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	sentry_buildpart_0 | ||||
|  | ||||
|  | ||||
| sentry_buildpart_0:  | ||||
| 	echo "Creating symlinks" | ||||
| 	/Applications/CMake.app/Contents/bin/cmake -E cmake_symlink_library /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.dylib /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.dylib /Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.dylib | ||||
							
								
								
									
										10
									
								
								sentry-native/CMakeScripts/sentry_postBuildPhase.makeRelease
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								sentry-native/CMakeScripts/sentry_postBuildPhase.makeRelease
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| # Generated by CMake, DO NOT EDIT | ||||
| # Custom rules for sentry | ||||
| .SUFFIXES:  | ||||
| all: \ | ||||
| 	sentry_buildpart_0 | ||||
|  | ||||
|  | ||||
| sentry_buildpart_0:  | ||||
| 	echo "Creating symlinks" | ||||
| 	/Applications/CMake.app/Contents/bin/cmake -E cmake_symlink_library /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.dylib /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.dylib /Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.dylib | ||||
							
								
								
									
										1944
									
								
								sentry-native/Sentry-Native.xcodeproj/project.pbxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1944
									
								
								sentry-native/Sentry-Native.xcodeproj/project.pbxproj
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| 	<dict> | ||||
| 		<key>BuildSystemType</key> | ||||
| 		<string>Original</string> | ||||
| 	</dict> | ||||
| </plist> | ||||
							
								
								
									
										84
									
								
								sentry-native/cmake_install.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								sentry-native/cmake_install.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | ||||
| # Install script for directory: /Users/bsergeant/src/foss/IXWebSocket/third_party/sentry-native | ||||
|  | ||||
| # Set the install prefix | ||||
| if(NOT DEFINED CMAKE_INSTALL_PREFIX) | ||||
|   set(CMAKE_INSTALL_PREFIX "/usr/local") | ||||
| endif() | ||||
| string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") | ||||
|  | ||||
| # Set the install configuration name. | ||||
| if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) | ||||
|   if(BUILD_TYPE) | ||||
|     string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" | ||||
|            CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") | ||||
|   else() | ||||
|     set(CMAKE_INSTALL_CONFIG_NAME "Release") | ||||
|   endif() | ||||
|   message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") | ||||
| endif() | ||||
|  | ||||
| # Set the component getting installed. | ||||
| if(NOT CMAKE_INSTALL_COMPONENT) | ||||
|   if(COMPONENT) | ||||
|     message(STATUS "Install component: \"${COMPONENT}\"") | ||||
|     set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") | ||||
|   else() | ||||
|     set(CMAKE_INSTALL_COMPONENT) | ||||
|   endif() | ||||
| endif() | ||||
|  | ||||
| # Is this installation the result of a crosscompile? | ||||
| if(NOT DEFINED CMAKE_CROSSCOMPILING) | ||||
|   set(CMAKE_CROSSCOMPILING "FALSE") | ||||
| endif() | ||||
|  | ||||
| if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) | ||||
|   if("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Dd][Ee][Bb][Uu][Gg])$") | ||||
|     file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a") | ||||
|     if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a" AND | ||||
|        NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a") | ||||
|       execute_process(COMMAND "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a") | ||||
|     endif() | ||||
|   elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$") | ||||
|     file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a") | ||||
|     if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a" AND | ||||
|        NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a") | ||||
|       execute_process(COMMAND "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a") | ||||
|     endif() | ||||
|   elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Mm][Ii][Nn][Ss][Ii][Zz][Ee][Rr][Ee][Ll])$") | ||||
|     file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.a") | ||||
|     if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a" AND | ||||
|        NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a") | ||||
|       execute_process(COMMAND "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a") | ||||
|     endif() | ||||
|   elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$") | ||||
|     file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.a") | ||||
|     if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a" AND | ||||
|        NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a") | ||||
|       execute_process(COMMAND "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libsentry.a") | ||||
|     endif() | ||||
|   endif() | ||||
| endif() | ||||
|  | ||||
| if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) | ||||
|   file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include" TYPE FILE FILES "/Users/bsergeant/src/foss/IXWebSocket/third_party/sentry-native/include/sentry.h") | ||||
| endif() | ||||
|  | ||||
| if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) | ||||
|   if("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Dd][Ee][Bb][Uu][Gg])$") | ||||
|     file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE FILE FILES "/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a.dSYM") | ||||
|   elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$") | ||||
|     file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE FILE FILES "/Users/bsergeant/src/foss/IXWebSocket/sentry-native/libsentry.a.dSYM") | ||||
|   elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Mm][Ii][Nn][Ss][Ii][Zz][Ee][Rr][Ee][Ll])$") | ||||
|     file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE FILE FILES "/Users/bsergeant/src/foss/IXWebSocket/sentry-native/MinSizeRel/libsentry.a.dSYM") | ||||
|   elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$") | ||||
|     file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE FILE FILES "/Users/bsergeant/src/foss/IXWebSocket/sentry-native/RelWithDebInfo/libsentry.a.dSYM") | ||||
|   endif() | ||||
| endif() | ||||
|  | ||||
| if(NOT CMAKE_INSTALL_LOCAL_ONLY) | ||||
|   # Include the install script for each subdirectory. | ||||
|   include("/Users/bsergeant/src/foss/IXWebSocket/sentry-native/src/cmake_install.cmake") | ||||
|  | ||||
| endif() | ||||
|  | ||||
							
								
								
									
										34
									
								
								sentry-native/src/cmake_install.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								sentry-native/src/cmake_install.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| # Install script for directory: /Users/bsergeant/src/foss/IXWebSocket/third_party/sentry-native/src | ||||
|  | ||||
| # Set the install prefix | ||||
| if(NOT DEFINED CMAKE_INSTALL_PREFIX) | ||||
|   set(CMAKE_INSTALL_PREFIX "/usr/local") | ||||
| endif() | ||||
| string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") | ||||
|  | ||||
| # Set the install configuration name. | ||||
| if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) | ||||
|   if(BUILD_TYPE) | ||||
|     string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" | ||||
|            CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") | ||||
|   else() | ||||
|     set(CMAKE_INSTALL_CONFIG_NAME "Release") | ||||
|   endif() | ||||
|   message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") | ||||
| endif() | ||||
|  | ||||
| # Set the component getting installed. | ||||
| if(NOT CMAKE_INSTALL_COMPONENT) | ||||
|   if(COMPONENT) | ||||
|     message(STATUS "Install component: \"${COMPONENT}\"") | ||||
|     set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") | ||||
|   else() | ||||
|     set(CMAKE_INSTALL_COMPONENT) | ||||
|   endif() | ||||
| endif() | ||||
|  | ||||
| # Is this installation the result of a crosscompile? | ||||
| if(NOT DEFINED CMAKE_CROSSCOMPILING) | ||||
|   set(CMAKE_CROSSCOMPILING "FALSE") | ||||
| endif() | ||||
|  | ||||
							
								
								
									
										11
									
								
								test/compatibility/node/echo_server.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/compatibility/node/echo_server.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| const WebSocket = require('ws'); | ||||
|  | ||||
| const wss = new WebSocket.Server({ port: 8080 }); | ||||
|  | ||||
| wss.on('connection', function connection(ws) { | ||||
|   ws.on('message', function incoming(message) { | ||||
|     console.log('received: %s', message); | ||||
|   }); | ||||
|  | ||||
|   ws.send('something'); | ||||
| }); | ||||
							
								
								
									
										11
									
								
								test/compatibility/node/echo_server_permessagedeflate.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/compatibility/node/echo_server_permessagedeflate.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| const WebSocket = require('ws'); | ||||
|  | ||||
| const wss = new WebSocket.Server({ port: 8080, perMessageDeflate: true }); | ||||
|  | ||||
| wss.on('connection', function connection(ws) { | ||||
|   ws.on('message', function incoming(message) { | ||||
|     console.log('received: %s', message); | ||||
|   }); | ||||
|  | ||||
|   ws.send('something'); | ||||
| }); | ||||
							
								
								
									
										25
									
								
								test/compatibility/python/websockets/echo_client.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								test/compatibility/python/websockets/echo_client.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| #!/usr/bin/env python3 | ||||
|  | ||||
| # websocket send client | ||||
|  | ||||
| import argparse | ||||
| import asyncio | ||||
| import websockets | ||||
|  | ||||
|  | ||||
| async def send(url): | ||||
|     async with websockets.connect(url) as ws: | ||||
|         while True: | ||||
|             message = input('> ') | ||||
|             print('Sending message...') | ||||
|             await ws.send(message) | ||||
|             print('Message sent.') | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     parser = argparse.ArgumentParser(description='websocket proxy.') | ||||
|     parser.add_argument('--url', help='Remote websocket url', | ||||
|                         default='wss://echo.websocket.org') | ||||
|     args = parser.parse_args() | ||||
|  | ||||
|     asyncio.get_event_loop().run_until_complete(send(args.url)) | ||||
| @@ -8,9 +8,10 @@ import websockets | ||||
|  | ||||
|  | ||||
| async def echo(websocket, path): | ||||
|     msg = await websocket.recv() | ||||
|     print(f'Received {len(msg)} bytes') | ||||
|     await websocket.send(msg) | ||||
|     while True: | ||||
|         msg = await websocket.recv() | ||||
|         print(f'Received {len(msg)} bytes') | ||||
|         await websocket.send(msg) | ||||
|  | ||||
| host = os.getenv('BIND_HOST', 'localhost') | ||||
| print(f'Serving on {host}:8766') | ||||
|   | ||||
| @@ -0,0 +1,22 @@ | ||||
| #!/usr/bin/env python | ||||
|  | ||||
| # WS server example | ||||
|  | ||||
| import asyncio | ||||
| import os | ||||
| import websockets | ||||
|  | ||||
|  | ||||
| async def echo(websocket, path): | ||||
|     while True: | ||||
|         msg = await websocket.recv() | ||||
|         print(f'Received {len(msg)} bytes') | ||||
|         await websocket.send(msg) | ||||
|  | ||||
| host = os.getenv('BIND_HOST', 'localhost') | ||||
| print(f'Serving on {host}:8766') | ||||
|  | ||||
| start_server = websockets.serve(echo, host, 8766, max_size=2 ** 30) | ||||
|  | ||||
| asyncio.get_event_loop().run_until_complete(start_server) | ||||
| asyncio.get_event_loop().run_forever() | ||||
							
								
								
									
										0
									
								
								test/compatibility/python/websockets/empty_file
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								test/compatibility/python/websockets/empty_file
									
									
									
									
									
										Normal file
									
								
							| @@ -24,6 +24,7 @@ include_directories(ws ../third_party) | ||||
| include_directories(ws ../third_party/statsd-client-cpp/src) | ||||
| include_directories(ws ../third_party/spdlog/include) | ||||
| include_directories(ws ../third_party/cpp-linenoise) | ||||
| include_directories(ws ../third_party/sentry-native/include) | ||||
|  | ||||
| add_definitions(-DSPDLOG_COMPILED_LIB=1) | ||||
|  | ||||
| @@ -76,6 +77,7 @@ target_link_libraries(ws ixcore) | ||||
| target_link_libraries(ws ixsentry) | ||||
|  | ||||
| target_link_libraries(ws spdlog) | ||||
| target_link_libraries(ws sentry) | ||||
|  | ||||
| if(NOT APPLE AND NOT USE_MBED_TLS) | ||||
|   find_package(OpenSSL REQUIRED) | ||||
|   | ||||
							
								
								
									
										15
									
								
								ws/ws.cpp
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								ws/ws.cpp
									
									
									
									
									
								
							| @@ -9,6 +9,7 @@ | ||||
| // | ||||
| #include "ws.h" | ||||
|  | ||||
| #include <sentry.h> | ||||
| #include <cli11/CLI11.hpp> | ||||
| #include <fstream> | ||||
| #include <ixcore/utils/IXCoreLogger.h> | ||||
| @@ -26,9 +27,21 @@ | ||||
| #define getpid _getpid | ||||
| #endif | ||||
|  | ||||
| void initSentry() | ||||
| { | ||||
|     sentry_options_t *options = sentry_options_new(); | ||||
|  | ||||
|     sentry_options_set_environment(options, "Production"); | ||||
|     sentry_options_set_release(options, "5fd7a6cd"); | ||||
|     // sentry_options_set_debug(options, 1); | ||||
|  | ||||
|     sentry_init(options); | ||||
| } | ||||
|  | ||||
|  | ||||
| int main(int argc, char** argv) | ||||
| { | ||||
|     initSentry(); | ||||
|     ix::initNetSystem(); | ||||
|  | ||||
|     ix::IXCoreLogger::LogFunc logFunc = [](const char* msg) { spdlog::info(msg); }; | ||||
| @@ -368,6 +381,8 @@ int main(int argc, char** argv) | ||||
|         tlsOptions.caFile = "NONE"; | ||||
|     } | ||||
|  | ||||
|     // memset((char *)0x0, 1, 100); | ||||
|  | ||||
|     int ret = 1; | ||||
|     if (app.got_subcommand("transfer")) | ||||
|     { | ||||
|   | ||||
| @@ -30,6 +30,9 @@ namespace ix | ||||
|         void start(); | ||||
|         void stop(); | ||||
|  | ||||
|         int getSentBytes() { return _sentBytes; } | ||||
|         int getReceivedBytes() { return _receivedBytes; } | ||||
|  | ||||
|         void sendMessage(const std::string& text); | ||||
|  | ||||
|     private: | ||||
| @@ -38,6 +41,8 @@ namespace ix | ||||
|         ix::WebSocket _webSocket; | ||||
|         bool _disablePerMessageDeflate; | ||||
|         bool _binaryMode; | ||||
|         std::atomic<int> _receivedBytes; | ||||
|         std::atomic<int> _sentBytes; | ||||
|  | ||||
|         void log(const std::string& msg); | ||||
|         WebSocketHttpHeaders parseHeaders(const std::string& data); | ||||
| @@ -54,6 +59,8 @@ namespace ix | ||||
|         : _url(url) | ||||
|         , _disablePerMessageDeflate(disablePerMessageDeflate) | ||||
|         , _binaryMode(binaryMode) | ||||
|         , _receivedBytes(0) | ||||
|         , _sentBytes(0) | ||||
|     { | ||||
|         if (disableAutomaticReconnection) | ||||
|         { | ||||
| @@ -68,6 +75,20 @@ namespace ix | ||||
|         { | ||||
|             _webSocket.addSubProtocol(subprotocol); | ||||
|         } | ||||
|  | ||||
|         WebSocket::setTrafficTrackerCallback( | ||||
|             [this](int size, bool incoming) | ||||
|             { | ||||
|                 if (incoming) | ||||
|                 { | ||||
|                     _receivedBytes += size; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     _sentBytes += size; | ||||
|                 } | ||||
|             } | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     void WebSocketConnect::log(const std::string& msg) | ||||
| @@ -246,6 +267,9 @@ namespace ix | ||||
|         spdlog::info(""); | ||||
|         webSocketChat.stop(); | ||||
|  | ||||
|         spdlog::info("Received {} bytes", webSocketChat.getReceivedBytes()); | ||||
|         spdlog::info("Sent {} bytes", webSocketChat.getSentBytes()); | ||||
|  | ||||
|         return 0; | ||||
|     } | ||||
| } // namespace ix | ||||
|   | ||||
		Reference in New Issue
	
	Block a user