-
Notifications
You must be signed in to change notification settings - Fork 494
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
Adding Lancache support to the CDN Client. #1423
base: master
Are you sure you want to change the base?
Conversation
This has been sitting here for a while, but I realized something that needs to be taken into consideration is that if the LanCache has a bad file saved, like a file got corrupted in storage or network issues resulted in a 0-length file, this setup would constantly request the file over and over again, constantly getting the same bad file and delaying downloads. This is a flaw even with Steam when it grabs from LanCache, and requires reviewing the access logs, identify the files being requested repeatedly, and then have to either locate the cached files and delete them, or do what steam-lancache-prefill does and append |
442f608
to
6a2b410
Compare
I thought the method to detect lancache automatically was fine, by doing a look up. Just make it assign result into UseLancacheServer if available (and leave calling the method to consumers). |
6a2b410
to
080c383
Compare
Put the lancache detection into a method for users to call, should match what you were expecting now. |
@xPaw Should I squash this branch prior to merging now that it's approved? |
We can squash on merge. Did you test this pr with Depot downloader? |
…ct a lancache when it is available and point all traffic to go through it instead of Valve's cdns
c4d3632
to
35ec1cd
Compare
Fixed the latest comment, rebased, and pushed again. |
@yaakov-h You mind giving this a review when you have a moment? We should be good to merge at this point. |
Added automatic Lancache detection to the CDN client. If a Lancache is on the local network and the trigger domain is poisoned, then SteamKit will direct all traffic through the cache instead of Valve's CDNs.
This behavior should match what the current behavior in Steam is.