Skip to content
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

Provide support for worker-based WebSocket management #7390

Closed
akhenry opened this issue Jan 19, 2024 · 3 comments · Fixed by #7391
Closed

Provide support for worker-based WebSocket management #7390

akhenry opened this issue Jan 19, 2024 · 3 comments · Fixed by #7391
Labels
type:feature Feature. Required intentional design verified Tested or intentionally closed
Milestone

Comments

@akhenry
Copy link
Contributor

akhenry commented Jan 19, 2024

Is your feature request related to a problem? Please describe.

The best practice for WebSocket management according to the Chrome development team is to do it from within a worker. This prevents the UI being blocked on WebSocket operations, and also means that a slow UI does not induce unnecessary back-pressure on servers, which can affect overall server performance.

Aditionally, In testing it has been found that batching telemetry into arrays and passing them back to views periodically provides superior performance to invoking a subscription callback for individual telemetry values.

Describe the solution you'd like

API support for worker-based WebSocket subscriptions with optional batching. The API should handle basic state and lifecycle management of WebSocket connections, including telemetry queuing and automatic re-connection on error. These features are assumed to be necessary for most WebSocket based connections. The details of message parsing should be left to individual telemetry providers.

Note that issue akhenry/openmct-yamcs#213 exists to implement worker-based WebSocket handling in the openmct-yamcs adapter.

@akhenry
Copy link
Contributor Author

akhenry commented Feb 5, 2024

@akhenry To add testing notes.

@davetsay
Copy link
Contributor

davetsay commented Mar 5, 2024

still needs testing instructions @akhenry

@akhenry
Copy link
Contributor Author

akhenry commented Mar 6, 2024

This issue is superseded by akhenry/openmct-yamcs#424 which fixes a bug in this original implementation. and should not be tested until that issue is closed and merged.

@unlikelyzero unlikelyzero added verified Tested or intentionally closed and removed needs:test instructions Missing testing notes labels Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature Feature. Required intentional design verified Tested or intentionally closed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants