-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[core] Introducing core-websockets #32555
base: main
Are you sure you want to change the base?
Conversation
b28b84b
to
6fe5433
Compare
API change check APIView has identified API level changes in this PR and created following API reviews. |
6fe5433
to
b169150
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice to see this abstraction! I added some comments for discussion.
b169150
to
4708384
Compare
4708384
to
5b75cc8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few minor comments, will need to take another look later.
attemptCount: number, | ||
retryDelayInMs: number, | ||
maxRetryDelayInMs: number, | ||
mode: RetryMode, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also think about a jitter here as well instead of just the base retry delays?
Azure Core WebSockets Support
Overview
This pull request introduces the Azure Core WebSockets library for JavaScript. The package provides an isomorphic WebSocket client that seamlessly supports both Node.js and browser environments.
Key Contributions
Isomorphic Client Support:
Simplified Connection Management:
createWebSocketClient
abstracts the complexity of connection establishment by handling URL validation, secure connection policies, and the retry and reconnection behavior to maintain connection reliability.Promise-Based & Event-Driven API:
open
,message
,close
, anderror
). This dual approach makes it easier to integrate with a variety of application architectures.Backpressure Control:
send
method to prevent overwhelming the send buffer.false
, alerting the application to backpressure conditions.Logging: