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

Broad, sweeping improvements #37

Open
wants to merge 35 commits into
base: main
Choose a base branch
from

Conversation

brandonsturgeon
Copy link
Member

@brandonsturgeon brandonsturgeon commented Jun 18, 2023

This PR ballooned up with a few different fixes and enhancements.

Currently, it:

  • Adds retries for unsuccessful failures
  • Utilizes the Range header (supported in: Add Range header support gm_express_service#9) to download in chunks
  • Handles all HTTP errors properly
  • Removes send delay, due to Add R2 fallback for strange 404s gm_express_service#10 making it unnecessary.
  • Allows operators to easily overwrite the HTTP library that Express uses
  • Adds additional validation on function calls to help users easily fix mistakes
  • Adds the ability to express.Send raw string data, skipping the serialization step
  • Adds the small message fallback - very small messages will use NetStream instead of express (addresses: Add "small message" net fallback #36)
  • Replaces json/compression with SFS
  • Adds express.Seed which allows you to seed data before you need to send it

This will probably be the second-to-last major change before I put more time into a V2 rewrite with the lessons learned on our first run through.

Todo:

  • Fix the PreDL callbacks?
  • Fix tests

Do you want to use this?

I believe it's currently stable enough to run.
It should fix a lot of the instability and odd behavior seen from Express's main branch.

You need to:

  • Download/Clone this branch (feature/include-http-failures-in-retries)
  • Set your express_domain convar to stg.gmod.express

@brandonsturgeon brandonsturgeon added bug Something isn't working enhancement New feature or request labels Jun 18, 2023
@brandonsturgeon brandonsturgeon self-assigned this Jun 18, 2023
@brandonsturgeon brandonsturgeon marked this pull request as ready for review June 19, 2023 00:32
@brandonsturgeon brandonsturgeon changed the title Improve retry system Broad, sweeping improvements Jan 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant