Commit Graph

33 Commits

Author SHA1 Message Date
s1d3sw1ped 847931ed43 Update .goreleaser.yaml and enhance HTTP client settings in steamcache.go
PR Check / check-and-test (pull_request) Successful in 18s
- Removed copyright footer from .goreleaser.yaml.
- Increased HTTP client connection settings in steamcache.go for improved performance:
  - MaxIdleConns from 100 to 200
  - MaxIdleConnsPerHost from 10 to 50
  - IdleConnTimeout from 90s to 120s
  - TLSHandshakeTimeout from 10s to 15s
  - ResponseHeaderTimeout from 10s to 30s
  - ExpectContinueTimeout from 1s to 5s
  - Added DisableCompression and ForceAttemptHTTP2 options.
- Removed debug logging for manifest files in ServeHTTP method.
2025-07-19 04:12:56 -05:00
s1d3sw1ped 163e64790c Enhance garbage collection and caching functionality
PR Check / check-and-test (pull_request) Successful in 21s
- Updated .gitignore to include all .exe files and ensure .smashignore is tracked.
- Expanded README.md with advanced configuration options for garbage collection algorithms, detailing available algorithms and use cases.
- Modified launch.json to include memory and disk garbage collection flags for better configuration.
- Refactored root.go to introduce memoryGC and diskGC flags for garbage collection algorithms.
- Implemented hash extraction and verification in steamcache.go to ensure data integrity during caching.
- Added new tests in steamcache_test.go for hash extraction and verification, ensuring correctness of caching behavior.
- Enhanced garbage collection strategies in gc.go, introducing LFU, FIFO, Largest, Smallest, and Hybrid algorithms with corresponding metrics.
- Updated caching logic to conditionally cache responses based on hash verification results.
2025-07-19 02:27:04 -05:00
s1d3sw1ped 3427b8f5bc fix: gc was being stupid allowing another thread to take the space it made before it could not anymore
PR Check / check-and-test (pull_request) Successful in 12s
2025-07-13 07:50:22 -05:00
s1d3sw1ped 6c98d03ae7 fix: trim query parameters from URL path in ServeHTTP to ensure cache key correctness
PR Check / check-and-test (pull_request) Successful in 16s
2025-07-13 05:42:07 -05:00
s1d3sw1ped 539f14e8ec refactor: moved the GC stuff around and corrected all tests
PR Check / check-and-test (pull_request) Successful in 30s
2025-07-13 04:20:12 -05:00
s1d3sw1ped 1673e9554a Refactor VFS implementation to use Create and Open methods
PR Check / check-and-test (pull_request) Failing after 11m4s
- Updated disk_test.go to replace Set and Get with Create and Open methods for better clarity and functionality.
- Modified fileinfo.go to include package comment.
- Refactored gc.go to streamline garbage collection handling and removed unused statistics.
- Updated gc_test.go to comment out large random tests for future implementation.
- Enhanced memory.go to implement LRU caching and metrics for memory usage.
- Updated memory_test.go to replace Set and Get with Create and Open methods.
- Removed sync.go as it was redundant and not utilized.
- Updated vfs.go to reflect changes in the VFS interface, replacing Set and Get with Create and Open.
- Added package comments to vfserror.go for consistency.
2025-07-13 03:17:22 -05:00
s1d3sw1ped b83836f914 fix: update log message for server startup and improve request handling in ServeHTTP
PR Check / check-and-test (pull_request) Successful in 1m6s
2025-07-12 09:48:06 -05:00
s1d3sw1ped b4d2b1305e fix: add logging for unsupported methods and error handling in ServeHTTP
PR Check / check-and-test (pull_request) Successful in 1m6s
2025-07-12 08:50:34 -05:00
s1d3sw1ped f378d0e81f feat: update dependencies and improve caching mechanism
PR Check / check-and-test (pull_request) Failing after 2m11s
- Added Prometheus client library for metrics collection.
- Refactored garbage collection strategy from random deletion to LRU (Least Recently Used) deletion.
- Introduced per-key locking in cache to prevent race conditions.
- Enhanced logging with structured log messages for cache hits and misses.
- Implemented a retry mechanism for upstream requests with exponential backoff.
- Updated Go modules and indirect dependencies for better compatibility and performance.
- Removed unused sync filesystem implementation.
- Added version initialization to ensure a default version string.
2025-07-12 06:43:00 -05:00
s1d3sw1ped 8c1bb695b8 fix: enhance logging to handle empty upstream values
Release Tag / release (push) Successful in 10s
2025-01-23 11:31:28 -06:00
s1d3sw1ped 70786da8c6 fix: improve logging readability and remove configuration messages
Release Tag / release (push) Successful in 10s
2025-01-23 11:25:18 -06:00
s1d3sw1ped e24af47697 feat: add upstream and verbose flags to command line interface
Release Tag / release (push) Successful in 13s
feat: add upstream support allowing to chain cache servers if needed
fix: tweaked garbage collection to be better
2025-01-23 11:14:39 -06:00
s1d3sw1ped 6fe80c82ad fix: reduce cache hits averaging size for improved performance
Release Tag / release (push) Successful in 9s
2025-01-22 20:59:24 -06:00
s1d3sw1ped 4a69c4ba66 fix: add empty line in logging for improved readability
Release Tag / release (push) Successful in 9s
2025-01-22 20:51:32 -06:00
s1d3sw1ped 2d0fe6571d feat: enhance garbage collection logging with total GC time and improved stat formatting
Release Tag / release (push) Successful in 9s
2025-01-22 20:48:05 -06:00
s1d3sw1ped 550948951e feat: implement enhanced garbage collection statistics logging
Release Tag / release (push) Successful in 12s
2025-01-22 20:27:12 -06:00
s1d3sw1ped 4a23eecae0 fix: reduce log interval to 1 second for more frequent statistics updates
Release Tag / release (push) Successful in 28s
2025-01-22 19:37:30 -06:00
s1d3sw1ped fed9bbe218 fix: go back to the old averaging
Release Tag / release (push) Successful in 12s
2025-01-22 19:35:17 -06:00
s1d3sw1ped 7401c040dc feat: add configurations for memory only, disk only, and memory & disk modes
Release Tag / release (push) Successful in 14s
2025-01-22 19:28:45 -06:00
s1d3sw1ped ca069a20ee fix: track cache hits and misses in average cache state 2025-01-22 18:43:07 -06:00
s1d3sw1ped 3e8a92b865 fix: log memory statistics only if memory is enabled
Release Tag / release (push) Successful in 9s
2025-01-22 18:29:19 -06:00
s1d3sw1ped b7652ed7cc fix: initialize average cache state with cleared values
Release Tag / release (push) Successful in 9s
2025-01-22 18:25:16 -06:00
s1d3sw1ped 08b8d0ce3d fix: enhance logging for memory and disk statistics in cache 2025-01-22 18:23:53 -06:00
s1d3sw1ped 53847db0e9 fix: improve cache state clearing and average calculation logic 2025-01-22 18:23:47 -06:00
s1d3sw1ped 6b0a556690 feat: include application version in logging output 2025-01-22 17:49:58 -06:00
s1d3sw1ped d49c4e1799 fix: increase hits buffer size in AvgCacheState initialization 2025-01-22 17:49:58 -06:00
s1d3sw1ped 0ca2a9eeed feat: integrate zerolog for structured logging and replace fmt with logger 2025-01-22 17:49:58 -06:00
s1d3sw1ped 0d8e8acf3a refactor: replace log statements with fmt for console output 2025-01-22 17:49:58 -06:00
s1d3sw1ped 837960e41b fix: initialize the avgcachestatus 2025-01-22 17:49:58 -06:00
s1d3sw1ped 86754b21aa refactor: comment out logging for request duration in ServeHTTP method 2025-01-22 17:49:58 -06:00
s1d3sw1ped 5682c1e9c8 feat: add AvgCacheState to track average cache hits and misses 2025-01-22 17:49:58 -06:00
s1d3sw1ped bc7744b5a7 fix: handle error from http.ListenAndServe in SteamCache 2025-01-22 17:49:58 -06:00
s1d3sw1ped f54150c3d2 initial commit 2025-01-22 17:49:22 -06:00