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

udt-migration: now supports reseda-rust backend with rebuilt api #10

Merged
merged 10 commits into from Jun 19, 2022
Merged

Conversation

bennjii
Copy link
Member

@bennjii bennjii commented Jun 19, 2022

This pull request outlines the now required migration from reseda-server (deprecated) to the new reseda-rust (private) binding. The client will no longer support the reseda-server versioning, and now exclusively supports the rust implementation.

This brings the following benefits:

  • Stably connects < 2s
  • Improved status communication between services
  • Consistent 0.2s uptime on the server for minimal outage possibilities
  • Rust panic safety - Prevents unnecessary crashes or unexpected errors (safe code).
  • Allows for real-time usage status updates to the user so they can know how much they are using and when.
  • Reworked Connection and Socket API
    • Better handles connection and disconnection with greater understanding of system state and recoverability
    • Dynamic access of information for any implementation of UI which only needs to handle passing access to helper functions.

Note this change is non-backwards compatible and therefore requires migration to this version to further access any reseda run servers. As of this implementation, reseda-server has been made open source, however the implementation was both poor and non-performant. Furthermore, the rust implementation fixes many known security and QOL issues with the previous API. Now, connection is significantly simplified and dynamic server-side handlers organize and arrange wg connections with far greater thread and time-lock safety. This implementation prevents odd or un-diagnosable issues with cross-assignments or other odd issues that could have arisen with horizontal scaling. This new implementation also supports deep multithreading for both handling multiple incoming sockets, and for running background cron jobs to update users with their periodic usage statistics. All with the performance of the low level language; rust and its incredible memory safety.

@bennjii bennjii merged commit 5f1c00f into master Jun 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant