Unknown W. Brackets
7f84c87931
Loaders: Refactor chaining to avoid dup code.
2018-12-27 10:32:47 -08:00
Unknown W. Brackets
8b665ae696
Loaders: Depriorize disc streaming queue items.
...
We want the local items, if any, to load first. This gives us icons, etc.
2017-12-09 17:07:42 -08:00
Unknown W. Brackets
ee5b68f1fc
Loaders: Add cancelation to all file loaders.
...
Mainly, for HTTP which might be stalled trying to connect (especially if
you're not near your PC right now and it's in your recent, for example.)
2017-12-09 16:47:37 -08:00
Simonas Kazlauskas
3c3596dbf2
Make the Loader API thread-safe
...
Since the majority of the code is using ReadAt API already, map this to
a `readp` "syscall" which does not mutate any state about the file
descriptor therefore making it fairly safe multi-threading wise.
This allows to get rid of read-time mutexes in RamCachedFileLoader and
therefore fixes #9803
2017-06-23 17:23:43 +03:00
Henrik Rydgard
26a2d42731
Big mutex overhaul - remove our custom ones, make them non-recursive where possible
2017-02-28 11:40:29 +01:00
Florent Castelli
70593d1004
android: Change preprocessor define to standard __ANDROID__
...
ANDROID is only standard to the old Makefile buildsystem, not the platform.
2016-10-12 11:14:09 +02:00
Unknown W. Brackets
65c7d0bd04
Add uncached flag for file loader reads.
...
This allows us to indicate that a read need not be cached.
2016-07-04 12:07:15 -07:00
Unknown W. Brackets
429346bb94
http: Make sure we don't hang checking existence.
...
It's not great to delay loading when the server is down - we'll do a
proper check when we display the games.
This also fixes shutdown being slow.
2016-07-04 00:46:42 -07:00
Unknown W. Brackets
41e167f384
http: Oops, fix crash.
...
Huh, I thought I tested this?
2016-07-03 22:13:52 -07:00
Unknown W. Brackets
eb674b4699
Reduce load delay with many recent http files.
...
If we have data for them, we can start up fairly quickly.
2016-06-26 20:45:04 -07:00
Unknown W. Brackets
8dd7527dc8
Clamp reads at the beginning too.
...
Safer, avoids an index overrun in disk cache.
2016-05-26 00:07:46 -07:00
Unknown W. Brackets
1c357f7f7b
Fix reads from cache outside the file.
...
Homebrew seems to all trigger us to read after the end of file, which was
looping infinitely. Fixes #8773 .
2016-05-25 18:42:21 -07:00
Unknown W. Brackets
0517d3721c
Correct recovery of locked disk cache files.
...
We were keeping the index when creating a new file, rather than clearing
it. Additionally, flush before all reads - in case of overlap.
2016-02-06 19:49:33 -08:00
Unknown W. Brackets
288a5c7aab
Lock the diskcache while in use.
...
This prevents it from being corrupted due to a crash.
2016-01-30 20:50:37 -08:00
Unknown W. Brackets
0264422b8d
Add a bit more error detection to the disk cache.
2015-11-18 21:56:07 -08:00
Unknown W. Brackets
475964133c
Make disk cache size a bit more flexible.
...
This way it will shrink to allow a few games to be cached simultaneously.
2015-11-18 21:56:06 -08:00
Unknown W. Brackets
f2cefebcb6
Garbage collect files when low on free cache space.
2015-11-18 21:56:04 -08:00
Unknown W. Brackets
df6cbafe0f
Measure free disk space to size block count.
2015-11-18 21:56:03 -08:00
Unknown W. Brackets
f0ec6fab4d
Reorganize disk cache to allow for dynamic size.
2015-11-18 21:56:02 -08:00
Unknown W. Brackets
88b23460f1
Add a file loader to perform disk caching.
...
Had to do some tricks to handle gameinfocache threads properly.
2015-07-02 20:58:58 -07:00