-
Notifications
You must be signed in to change notification settings - Fork 151
Initial WebSockets implementation. #3823
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
LarryOsterman
merged 160 commits into
Azure:feature/websockets
from
LarryOsterman:larryo/createwebsockets
Jul 27, 2022
Merged
Changes from all commits
Commits
Show all changes
160 commits
Select commit
Hold shift + click to select a range
a73b00d
Initial WebSocket implementation
LarryOsterman ae9de9e
Checkpoint
LarryOsterman 3d505a0
Support multiple frame sizes; preliminary doxygen
LarryOsterman 7e0e9fc
Multi-threaded stress test
LarryOsterman 98d9913
Merge branch 'main' into larryo/createwebsockets
LarryOsterman 97e6360
Starting implementation of WinHTTP websocket transport
LarryOsterman fdad3f3
Merge branch 'main' into larryo/createwebsockets
LarryOsterman 1372b0a
Completed implementation of HTTP websockets
LarryOsterman daa1163
Merge branch 'main' into larryo/createwebsockets
LarryOsterman 8cd1e7c
CI fixes
LarryOsterman 4ff6584
cspell
LarryOsterman 0f509cc
cspell
LarryOsterman 20fdade
detail->details
LarryOsterman f709bc4
C++15 fixes
LarryOsterman 0b4b752
CI fixes
LarryOsterman b475efa
CI changes
LarryOsterman d29fc89
CI fixes
LarryOsterman 791550b
clang-format
LarryOsterman 89cf5f6
ci fixes
LarryOsterman 7e43022
dead code handling?
LarryOsterman 9c69110
clang_format
LarryOsterman 95d28b1
clang-format
LarryOsterman 59da14b
Trial: Added pip install websockets
LarryOsterman d7da11c
First try at websocket server
LarryOsterman a997d8d
corrected condition for websocket
LarryOsterman 76ec50c
Merge branch 'main' into larryo/createwebsockets
LarryOsterman 5d17885
Checkpoint with traces
LarryOsterman ad82111
Try again with conditional
LarryOsterman 9b684a3
updated working directory
LarryOsterman b85c763
Try updating Python version
LarryOsterman 9379b0b
Try updating Python version v2
LarryOsterman de6cfee
Parameterize websocket server
LarryOsterman a37acf2
Thread parameters to build job
LarryOsterman 392be84
Check to ensure the websocket server is running at test start
LarryOsterman cccb566
Copy websocket server to build output directory
LarryOsterman 7bca96e
Try to find requirements.txt
LarryOsterman 87e6095
Diagnostics on prerequisites
LarryOsterman 4bae101
Diagnostics on prerequisites
LarryOsterman fa67d1e
Copy websocket server to build output directory
LarryOsterman 8fa2eae
Yet another try at the CI pipeline
LarryOsterman 6741a78
Yet another try at the CI pipeline 2
LarryOsterman 530a92f
Update sdk/core/azure-core/inc/azure/core/internal/cryptography/sha_h…
LarryOsterman 05eba24
Update sdk/core/azure-core/inc/azure/core/internal/cryptography/sha_h…
LarryOsterman 802d4c1
Update sdk/core/azure-core/inc/azure/core/internal/cryptography/sha_h…
LarryOsterman af0f8d9
Update sdk/core/azure-core/inc/azure/core/internal/cryptography/sha_h…
LarryOsterman a3f4278
Update sdk/core/azure-core/inc/azure/core/internal/cryptography/sha_h…
LarryOsterman a1173f9
Update sdk/core/azure-core/src/cryptography/sha_hash.cpp
LarryOsterman 07d554c
another CI try
LarryOsterman e4fef51
Try to find requirements and python server
LarryOsterman 4aa0751
Correct multi-line pwsh syntax
LarryOsterman 1b8cebe
Fixed name of websocket server
LarryOsterman db9c7ac
Skip PythonTests when not building tests
LarryOsterman 3433116
Skip PythonTests when not building tests2
LarryOsterman c2d7ade
Skip PythonTests when not building tests3
LarryOsterman ceed005
Skip PythonTests when not building tests4
LarryOsterman 71263b7
Skip PythonTests when not building tests5
LarryOsterman e2b5956
Skip PythonTests when not building tests6
LarryOsterman 679f02c
Skip PythonTests when not building tests7
LarryOsterman c364959
Another try at conditional
LarryOsterman b435dc4
Turn off python webserver if build_testing is not on
LarryOsterman 05e0da0
clang-format
LarryOsterman bed2ce4
Merge branch 'main' into larryo/createwebsockets
LarryOsterman b19b426
Added coverage tests for curl websocket transport
LarryOsterman 4a55591
Artifact name fix
LarryOsterman d84dd28
Log websocket outputs
LarryOsterman 0776a20
Use RAII pointer for CURL transport
LarryOsterman 6e3c4b2
Noise reduction in test code
LarryOsterman 1899c31
More iterations in multithreaded test; dont publish if no tests
LarryOsterman f4b7685
Disclaimers on SHA1 and MD5 hash algorithms
LarryOsterman d8de4c2
clang-format; improved conditional for websocketserver log
LarryOsterman a92f5d5
Chagned remarks to warning on SHA/MD5 deprecation
LarryOsterman 07339d5
Updated hash comments
LarryOsterman 8d225cc
Stop websocket server after tests complete
LarryOsterman de390ee
Use unique name for websocket logs
LarryOsterman 3808eb4
clang-format
LarryOsterman 01db8dd
First try at core specific pipelines.
LarryOsterman 79a0c07
Merge branch 'main' into larryo/createwebsockets
LarryOsterman 4453714
Pre and Post test steps
danieljurek 9311f26
Do not insert template
danieljurek f022cdd
Clean up most references to earlier parameters
danieljurek 3203843
Merge branch 'larryo/createwebsockets' of https://github.com/LarryOst…
LarryOsterman a617e3e
Add pre and post steps back in
danieljurek cd8acdc
Build fixes from merge
LarryOsterman ba02cd2
Merge branch 'larryo/createwebsockets' of https://github.com/LarryOst…
LarryOsterman 5e1c78d
Inline pre and post-test steps
danieljurek 6e39b3b
Shut down websocket server; clang-format
LarryOsterman 3cc6182
Added conditions on test steps
LarryOsterman d7eed26
Only terminate websocket server if it was started
LarryOsterman f653b18
110000 multithreaded requests
LarryOsterman ea35542
curl.exe -> curl
LarryOsterman d7ef5a0
More test iterations
LarryOsterman dfc3d03
Code coverage improvements
LarryOsterman d374e13
cspell
LarryOsterman d34ca22
Faster multithreaded testl; increased more coverage
LarryOsterman fa3e8de
Reduce code complexity upon closer reading of RFC 6455
LarryOsterman 23efd91
fixed docstrings
LarryOsterman 46fb880
Drain in-flight messages when processing close
LarryOsterman b3b75b8
Added test for binary fragmentation
LarryOsterman efe18bf
More code coverage tweaks
LarryOsterman a582150
Fixed exception thrown on wrong AsXxx
LarryOsterman ff6a811
clang_format
LarryOsterman 6cfc9d7
More code coverage
LarryOsterman 50f02ce
Teach WinHTTP transport that WebSockets is also a non-https scheme
LarryOsterman 9044b5d
Disable native transport support for curl transports to improve code …
LarryOsterman ac056f6
Removed WinHTTP transport option for websockets, moved it to code
LarryOsterman 51a63de
Time out long running failure test
LarryOsterman 36a76e9
Merge branch 'Azure:main' into larryo/createwebsockets
LarryOsterman 0e77d3a
Removed commented out code
LarryOsterman 5ba011e
Merge branch 'larryo/createwebsockets' of https://github.com/LarryOst…
LarryOsterman d891283
Added ping support to websockets
LarryOsterman a11167b
Set state to closed when receiving closed frame
LarryOsterman a0c4d08
Ping support on winhttp
LarryOsterman b978582
Comment updates
LarryOsterman 75b9487
Code review feedback
LarryOsterman 7681305
clang fixes
LarryOsterman 1915b76
clang_format
LarryOsterman ab6b497
Get rid of diamond anti-pattern in WebSocketTransport
LarryOsterman 9f83554
Removed CompleteUpgrade since it did nothing
LarryOsterman 9ebc88f
Implemented ping support; some internal cleanup and simplification; U…
LarryOsterman 0b964da
Compilation errors with winhttp
LarryOsterman 48cca80
gpp 5 doesn't have std::atomic_uint32_t
LarryOsterman 2272289
Increased iteration count for multithreaded test
LarryOsterman 8cf06dd
Noise reduction; Increased test size
LarryOsterman 4308164
code review feedback
LarryOsterman 9df1b13
Pull request feedback
LarryOsterman dddac79
CI changes
LarryOsterman 1711fca
Better path to PS1 file
LarryOsterman 05c43c3
Powershell comments are # not //
LarryOsterman 48486e8
clang-format and set socketserver log file
LarryOsterman 011b10d
Moved WebSocket API to _internal namespace; implementation is still i…
LarryOsterman 3925f04
clang-format
LarryOsterman ec10454
Force python3 usage for linux.
LarryOsterman e491cad
Different attempt at launching nohup
LarryOsterman d40286c
Another attempt at launching nohup
LarryOsterman 2e8346b
Still another attempt at launching nohup
LarryOsterman 013d000
Put back original linux python launch action to get CI pipeline worki…
LarryOsterman a5ef68e
Added test case to close socket while a receive is outstanding
LarryOsterman 83a4885
clang-format
LarryOsterman 2367577
Added multithreaded test with multiple websockets
LarryOsterman d9cd38c
clang-format; changed name of the connection upgrade message for WinH…
LarryOsterman 3e35367
clang-format
LarryOsterman 549d2bd
Update sdk/core/azure-core/src/http/curl/curl.cpp
LarryOsterman 15e0afe
Pull request feedback
LarryOsterman d5e02ef
Fixed CI build problem
LarryOsterman afbab8a
Improved text for HasNativeWebsocketSupport.
LarryOsterman 91ea0a1
PR changes
LarryOsterman d8e175b
more feedback
LarryOsterman ad4db25
clang-format
LarryOsterman 980b547
code review feedback
LarryOsterman 41c49c0
Renamed GetChosenProtocl to GetNegotiatedProtocol
LarryOsterman 7f3d8fe
Renamed NativeClose to Close since it's valid for all WebSocket trans…
LarryOsterman 0a80a7e
Fixed horrible variable name
LarryOsterman 755fc80
Simplified expression
LarryOsterman 1072f76
Update sdk/core/azure-core/src/http/websockets/websockets_impl.cpp
LarryOsterman fa8f236
Code review feedback
LarryOsterman 868e68f
Update sdk/core/azure-core/src/http/websockets/websockets_impl.cpp
LarryOsterman 74f40c0
Pull request feedback
LarryOsterman cfe8fae
Merge branch 'larryo/createwebsockets' of https://github.com/LarryOst…
LarryOsterman 8155506
Code Review feedback
LarryOsterman 965538e
clang-format
LarryOsterman File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.