Vincent Sanders
9511e9c4e9
Improve file naming inside cache
2015-03-31 20:57:00 +01:00
Vincent Sanders
f1d4094566
allocate small block using block use bitmaps to find free entries.
2015-03-31 20:56:55 +01:00
Vincent Sanders
706a77170d
implement block read and write operations.
2015-03-31 20:56:55 +01:00
Vincent Sanders
c965fa8739
Block file usage bitmaps (de)serialising
2015-03-31 20:56:55 +01:00
Vincent Sanders
a8e501a663
define block store parameters
2015-03-31 20:56:55 +01:00
Vincent Sanders
980e28d916
Change backing store fetch operation to always perform the allocations
...
The fetch API previously allowed for the caller to supply the storage,
this was never used and was preventing the refactoring necessary for
small black storage to be available.
2015-03-31 20:56:55 +01:00
Vincent Sanders
1d03f34d62
Compute the element index once and use that as a parameter.
...
Change to computing the element index from the flags passed to store
and fetch methods instead of passing the flags around and calculating
everywhere.
Additionally split out writing element of entry to file into distinct
function to make code clearer.
2015-03-31 20:56:55 +01:00
Vincent Sanders
c2eda75710
Change element layout and cope with index collisions.
2015-03-31 20:56:55 +01:00
Michael Drake
ee75f5b3ad
Fix to support non-POSIX behaviour when renaming cache entries on disc.
2015-02-03 10:22:28 +00:00
Vincent Sanders
1c735140b6
fix resource leak on error (Coverity 1256245)
2014-11-30 11:21:34 +00:00
Vincent Sanders
d08acbc5ae
correctly calculate writeout bandwidth and properly impose limits
2014-11-29 23:57:15 +00:00
Vincent Sanders
6b2676d33f
Improve llcache writeout stratagy
2014-11-28 19:17:42 +00:00
Vincent Sanders
8d51dd4879
update the backing store to allow for invalidating entries which have an allocation
2014-11-27 13:31:43 +00:00
Vincent Sanders
5a78cd810f
correctly release source data from llcache
2014-11-23 18:21:56 +00:00
Vincent Sanders
01b2bc5a57
Improve doxygen comments and add todo for cache and backing store
2014-11-23 15:43:03 +00:00
Vincent Sanders
246a1fec05
remove constness from backing stores store method
2014-11-23 01:37:24 +00:00
Vincent Sanders
63c35da66e
annotate element struct with packing attributes to reduce entry size
2014-11-23 01:25:14 +00:00
Vincent Sanders
08c7ef6bed
Do not use anonymous union as it is not portable
...
unnamed unions are not portable to old compilers. When reloading data
ensure the heap allocation status is discarded.
2014-11-23 00:35:11 +00:00
Vincent Sanders
8b810ee4a1
change the persistant data store to owning the allocations
2014-11-22 23:56:43 +00:00
Vincent Sanders
eb87406758
update entry points to backing store ready for allowing differing object lifetimes
2014-11-20 22:28:19 +00:00
Vincent Sanders
69f4397fe4
Limit creation of store path directories.
...
Only create all elements of a path in the store when it is being
opened for creation instead of causing reads to create directories.
2014-11-19 16:26:29 +00:00
Vincent Sanders
92a1ac4fbb
Improve backing store control data serialisation
...
By scheduling the control data to be maintained (entries index written
and headers updated) once activity occurs to update these control
structures rather than a single serialisation at browser exit the data
is more likely to be up to date and not lost on a crash.
2014-11-19 16:22:06 +00:00
Vincent Sanders
a79b30bd6f
make backing store use rename to atomicly replace entries file
2014-11-19 11:26:27 +00:00
Vincent Sanders
e32a2ad46e
Doxygen fixes
2014-11-09 15:28:03 +00:00
Vincent Sanders
56bb1b03c5
Doxygen cleanups
2014-11-09 12:50:30 +00:00
Vincent Sanders
d06df231bc
Update the core to use the split operations table headers
...
Second in the series to decouple the core API usage from the frontends.
2014-10-16 22:33:43 +01:00
Vincent Sanders
219f505a65
version 1.1 of the backing store disc layout using base32 encoded
...
filenames to allow for case insensitive filenames.
2014-07-04 17:09:28 +01:00
Vincent Sanders
f1c2dde13b
extend file table with mkdir all and make fs backing store use it.
...
enable fs backing store for RISC OS.
2014-06-05 12:06:47 +01:00
Michael Drake
bd804d3fe4
Avoid signed vs unsigned comparason warning.
2014-06-04 07:48:05 +01:00
Vincent Sanders
5899f6c16e
turn off debugging and add some comments and todo from dsilvers
2014-06-03 22:30:04 +01:00
Vincent Sanders
e9d53022a4
write a cache tag file as an aid to backup software
2014-05-30 00:19:20 +01:00
Michael Drake
fb5af8a1b6
Check return value from write() to avoid build warnings.
2014-05-24 15:19:01 +01:00
Vincent Sanders
05932293f6
Add filesystem based backing store
2014-05-13 15:53:02 +01:00